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 中没有指定前缀,就可以使用它。