Compartilhar via


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 de String opcional.

Especifica os namespaces para prefixos de consulta XPath. Namespaces é um snippet XML que consiste em elementos Namespace com atributos Prefix e Uri. O atributo Prefix especifica o prefixo a ser associado ao namespace especificado no atributo Uri. Não use um Prefixvazio.
Query Parâmetro de 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 de ITaskItem opcional.

Especifica a entrada XML como um caminho de arquivo.

Observações

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 de classe base TaskExtension.

Exemplo

Aqui está um sample.xml para 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 está 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.

Consulte também