次の方法で共有


XmlPoke タスク

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

パラメーター

次の表では、XmlPoke タスクのパラメーターについて説明します。

パラメーター 形容
Namespaces 省略可能な String パラメーター。

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

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

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

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

備考

このタスクは、テーブルに一覧表示されているパラメーターに加えて、TaskExtension クラスからパラメーターを継承します。このクラス自体は、Task クラスから継承されます。 これらの追加パラメーターとその説明の一覧については、「TaskExtension 基底クラスのを参照してください。

変更する 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 は、既定の名前空間の人工名前空間プレフィックスとして使用されます。ターゲット XML に指定されたプレフィックスがない場合は常に使用できます。

関連項目