Partilhar 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 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 Prefixvazio.
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.

Ver também