1

Cake ビルド自動化システムを使用してファイルから XML 値を取得する簡単な方法はありますか?

私はCake.Common.Xml 名前空間XmlPokeを調べてきましたが、すべてが XML の変更 ( ) または変換 ( )に向けられているようXmlTransformationです。これらのメソッドに関するドキュメントは、後のビルドステップで使用するために XML を準備することを目的としているように見えるため、何も返しません。

理想的にはFilePath、XPath クエリ文字列を使用してオブジェクトにアクセスし、結果の値を取得したいと考えています。

具体的には、Xamarin.Android プロジェクトの AndroidManifest.xml から値を抽出して、Cake.Xamarin 呼び出しから得られた APK の名前を付けようとしていますが、この機能は Cake.Common.Xml レベルである必要があるようです。

4

2 に答える 2

7

Cake v0.8.0の時点で、 XmlPeekfromCake.Common.Xml.XmlPeekAliases名前空間が存在するようになりました。インスタンスと XPath クエリ (名前空間などのオプション設定を含む)を渡すとFilePath、文字列が返されます。

たとえば、次のようなローカル XML ファイルがあるとします…</p>

<some>
    <nested>
        <thing someattribute="attributevalue" />
        <otherthing>some text value</otherthing>
    </nested>
</some>

たとえば、属性の値を取得するには…</p>

var attributeValue = XmlPeek(File("example.xml"),
    "/some/nested/thing/@someattribute")

…の文字列を取得しますattributevalue

テキスト ノードの値を取得するには…</p>

var textNodeValue = XmlPeek(File("example.xml"),
    "/some/nested/otherthing/text()");

…の文字列を取得しますsome text value

于 2016-01-19T21:08:07.590 に答える
1

ご存知のように (作成したので)、Cake にこの機能を追加するためのアクティブなプル リクエストがあります。

https://github.com/cake-build/cake/pull/641

準備が整うと、このプル リクエストは Cake に取り込まれ、機能は Cake ですぐに利用できるようになります。

于 2016-01-17T21:14:06.483 に答える