XmlPoke 任务

将 XPath 查询指定的值设置为 XML 文件。

参数

下表描述了 XmlPoke 任务的参数。

参数 说明
Namespaces 可选 String 参数。

指定 XPath 查询前缀的命名空间。 Namespaces 是 XML 代码片段,由 Namespace 元素组成,包含 PrefixUri 属性。 属性 Prefix 指定与 Uri 属性中指定的命名空间关联的前缀。 不要使用空的 Prefix
Query 可选 String 参数。

指定 XPath 查询。
Value 必选 ITaskItem 参数。

指定要插入到指定路径的值。
XmlInputPath 可选 ITaskItem 参数。

指定 XML 输入为文件路径。

备注

除了具有表中列出的参数外,此任务还将从本身继承自 Task 类的 TaskExtension 类继承参数。 有关这些其他参数的列表及其说明的信息,请参阅 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 用作默认命名空间的假命名空间前缀。

请参阅