Compartilhar via


Select-XML

Localiza texto em uma cadeia de caracteres ou documento XML.

Sintaxe

Select-XML -Content <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>]

Select-XML [-Path] <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>]

Select-XML [-Xml] <XmlNode[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>]

Descrição

O cmdlet Select-XML permite usar consultas XPath para pesquisar texto em cadeias de caracteres e documentos XML. Digite uma consulta XPath e use o parâmetro Content, Path ou Xml para especificar o XML a ser pesquisado.

Parâmetros

-Content <string[]>

Especifica uma cadeia de caracteres que contém o XML a ser pesquisado. Você também pode canalizar cadeias de caracteres para Select-XML.

Necessário?

true

Posição?

named

Valor padrão

Nenhum

Aceitar entrada do pipeline?

true (ByValue)

Aceitar caracteres curinga?

false

-Namespace <hashtable>

Especifica uma tabela de hash dos namespaces usados no XML. Use o formato @{<namespaceName> = <namespaceValue>}.

Necessário?

false

Posição?

named

Valor padrão

Nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Path <string[]>

Especifica o caminho e os nomes dos arquivos XML a serem pesquisados. Os caracteres curinga são permitidos.

Necessário?

true

Posição?

2

Valor padrão

Nenhum

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

true

-Xml <XmlNode[]>

Especifica um ou mais nós XML. Um parâmetro Path ou XML é necessário em cada comando.

Um documento XML será processado como uma coleção de nós XML. Se você canalizar um documento XML para Select-XML, cada nó de documento será pesquisado separadamente conforme ele é transmitido pelo pipeline.

Necessário?

true

Posição?

2

Valor padrão

Nenhum

Aceitar entrada do pipeline?

true (ByValue, ByPropertyName)

Aceitar caracteres curinga?

false

-Xpath <string>

Especifica uma consulta de pesquisa de XPath. A linguagem de consulta faz diferenciação de maiúsculas e minúsculas. Esse parâmetro é obrigatório.

Necessário?

true

Posição?

1

Valor padrão

Nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.String ou System.Xml.XmlNode

Você pode canalizar um caminho ou nó XML para o Select-XML.

Saídas

System.Xml.XmlElement ou System.Xml.XmlText

Observações

XPath é uma linguagem padrão que foi desenvolvida para identificar partes de um documento XML. Para obter mais informações sobre a linguagem XPath, consulte a seção "Selection Filters" do tópico "Event Selection" (em inglês) na biblioteca do MSDN (Microsoft Developer Network) em https://go.microsoft.com/fwlink/?LinkId=143608. Além disso, consulte "XPath Reference" (em inglês) na biblioteca do MSDN em https://go.microsoft.com/fwlink/?LinkId=143609.

Exemplo 1

C:\PS>$path = "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml"

C:\PS> select-xml -path $path -xpath "/Types/Type/Members/AliasProperty"

Descrição
-----------
Esse exemplo pesquisa itens filhos no arquivo Types.ps1xml do nó AliasProperty.





Exemplo 2

C:\PS>select-xml -path test*.xml, help.xml -xpath "/Tests/Test[1]/Name"

Descrição
-----------
Esse comando usa o Select-XML para pesquisar em vários arquivos XML.





Exemplo 3

C:\PS>[xml]$Types = get-content "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml"

C:\PS> select-xml -xml $Types -xpath "//MethodName"

Descrição
-----------
Esse exemplo mostra como canalizar um documento XML para Search-Path.





Exemplo 4

C:\PS>$namespace = @{command="https://schemas.microsoft.com/maml/dev/command/2004/10"; maml="https://schemas.microsoft.com/maml/2004/10"; dev="https://schemas.microsoft.com/maml/dev/2004/10"}

C:\PS> $path = "$env:windir\System32\WindowsPowerShell\V1.0\en-us\*dll-Help.xml"

C:\PS> select-xml -path $path -namespace $namespace -xpath "//command:name"

Text                      Node      Path                                      
----                      ----      ----                                      
Add-Computer              name      C:\Windows\System32\WindowsPowerShell\V...
Add-Content               name      C:\Windows\System32\WindowsPowerShell\V...
Checkpoint-Computer       name      C:\Windows\System32\WindowsPowerShell\V...
Clear-Content             name      C:\Windows\System32\WindowsPowerShell\V...
Clear-EventLog            name      C:\Windows\System32\WindowsPowerShell\V...
...

Descrição
-----------
Esse exemplo mostra como usar o cmdlet Select-XML para pesquisar os arquivos da ajuda do cmdlet com base em XML do Windows PowerShell. 

O primeiro comando cria uma tabela de hash que representa o namespace XML e o salva na variável $namespace.

O segundo comando salva o caminho para os arquivos da ajuda na variável $path.

O terceiro comando usa o Select-Xml para pesquisar nomes de cmdlet no XML localizando as marcas Command:Name em qualquer lugar nos arquivos.





Exemplo 5

C:\PS>select-xml -content $xml -xpath "//edition"

C:\PS> $xml = @"
<?xml version="1.0" encoding="utf-8"?>
 <Book>
   <projects>
     <project name="Book1" date="2009-01-20">
       <editions>
          <edition language="English">En.Book1.com</edition>
          <edition language="German">Ge.Book1.Com</edition>
          <edition language="French">Fr.Book1.com</edition>
          <edition language="Polish">Pl.Book1.com</edition>
       </editions>
     </project>
   </projects>
 </Book>
"@

C:\PS> select-xml -content $xml -xpath "//edition"

Text            Node          Path                                      
----            ----          ----                                      
En.Book1.com    edition       InputStream                               
Ge.Book1.Com    edition       InputStream                               
Fr.Book1.com    edition       InputStream                               
Pl.Book1.com    edition       InputStream


C:\PS> $xml | select-xml -xpath "//edition"      

Text            Node          Path                                      
----            ----          ----                                      
En.Book1.com    edition       InputStream                               
Ge.Book1.Com    edition       InputStream                               
Fr.Book1.com    edition       InputStream                               
Pl.Book1.com    edition       InputStream

Descrição
-----------
Esse exemplo usa o parâmetro Content do Select-XML para pesquisar conteúdo XML em uma cadeia de caracteres here.

O primeiro comando salva a cadeia de caracteres here na variável $xml.

O segundo comando usa o parâmetro Content para especificar o XML na variável $xml. 

O terceiro comando é equivalente ao segundo. Ele usa um operador de pipeline (|) para enviar o XML na variável $xml ao cmdlet Select-XML. 

Para obter mais informações sobre cadeias de caracteres here, digite about_Quoting_Rules.





Consulte também

Conceitos

ConvertTo-XML