共用方式為


XmlPoke 工作

將 XPath 查詢所指定的值設定為 XML 檔案。

參數

下表描述 XmlPoke 工作的參數。

參數 描述
Namespaces 選擇性 String 參數。

指定 XPath 查詢前置詞的命名空間。 Namespaces 是由具有屬性 PrefixUriNamespace 專案所組成的 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 中沒有指定的前置詞,您就可以使用它。

另請參閱