XmlPoke タスク

XML ファイルに XPath クエリで指定された値を設定します。

パラメーター

XmlPoke タスクのパラメーターの説明を次の表に示します。

パラメーター 説明
Namespaces 省略可能な String 型のパラメーターです。

XPath クエリ プレフィックスの名前空間を指定します。 Namespaces は、属性 PrefixUri を持つ Namespace 要素で構成される XML スニペットです。 属性 Prefix では、Uri 属性で指定された名前空間に関連付けるプレフィックスを指定します。 空の Prefix は使用しないでください。
Query 省略可能な String 型のパラメーターです。

XPath クエリを指定します。
Value 必須の ITaskItem 型のパラメーターです。

指定されたパスに挿入する値を指定します。
XmlInputPath 省略可能な ITaskItem 型のパラメーターです。

XML 入力をファイル パスとして指定します。

解説

表に示されているパラメーターを使用できるだけでなく、このタスクは TaskExtension クラスからパラメーターを継承します。このクラス自体は Task クラスから継承されます。 これらの追加のパラメーターの一覧とその説明については、「TaskExtension Base Class」を参照してください。

以下に、変更する sample.xml を示します。

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" >
<Identity Name="Sample.Product " Publisher="CN=1234" Version="1.0.0.0" />
<mp:PhoneIdentity PhoneProductId="456" PhonePublisherId="0" />
</Package>

この例では、/Package/mp:PhoneIdentity/PhoneProductId を変更する場合、以下を使用します。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Namespace>
        <Namespace Prefix="dn" Uri="http://schemas.microsoft.com/appx/manifest/foundation/windows10" />
        <Namespace Prefix="mp" Uri="http://schemas.microsoft.com/appx/2014/phone/manifest" />
        <Namespace Prefix="uap" Uri="http://schemas.microsoft.com/appx/manifest/uap/windows10" />
    </Namespace>
</PropertyGroup>

<Target Name="Poke">
  <XmlPoke
    XmlInputPath="Sample.xml"
    Value="MyId"
    Query="/dn:Package/mp:PhoneIdentity/@PhoneProductId"
    Namespaces="$(Namespace)"/>
</Target>
</Project>

ここでは、既定の名前空間の人為的な名前空間プレフィックスとして dn が使用されます。

関連項目