Tarefa XmlPoke
Define valores conforme especificado por uma consulta XPath em um arquivo XML.
Parâmetros
A tabela a seguir descreve os parâmetros da tarefa XmlPoke
.
Parâmetro | Descrição |
---|---|
Namespaces |
Parâmetro String opcional.Especifica os namespaces para prefixos de consulta XPath. Namespaces é um trecho XML que consiste em elementos Namespace com atributos Prefix e Uri . O atributo Prefix especifica o prefixo a ser associado ao namespace especificado em Uri atributo. Não use um Prefix vazio. |
Query |
Parâmetro String opcional.Especifica a consulta XPath. |
Value |
Parâmetro de ITaskItem necessário. Especifica o valor a ser inserido no caminho especificado. |
XmlInputPath |
Parâmetro ITaskItem opcional. Especifica a entrada XML como um caminho de arquivo. |
Comentários
Além de ter os parâmetros listados na tabela, essa tarefa herda parâmetros da classe TaskExtension, que herda da classe Task. Para obter uma lista desses parâmetros adicionais e suas descrições, consulte classe base TaskExtension.
Exemplo
Aqui está uma sample.xml modificar:
<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>
Neste exemplo, se você quiser modificar /Package/mp:PhoneIdentity/PhoneProductId
, use
<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
é aqui usado como um prefixo de namespace artificial para o namespace padrão; você pode usá-lo sempre que não houver um prefixo especificado no XML de destino.