PowerShell Logo Small

Select-Xml



This is the built-in help made by Microsoft for the command 'Select-Xml', in PowerShell version 2 - as retrieved from Windows version 'Microsoft® Windows Vista™ Ultimate ' PowerShell help files on 2016-06-23.

For PowerShell version 3 and up, where you have Update-Help, this command was run just before creating the web pages from the help files.

SYNOPSIS

Finds text in an XML string or document.

SYNTAX


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>]



Search powershellhelp.space

DESCRIPTION


The Select-XML cmdlet lets you use XPath queries to search for text in XML strings and documents. Enter an XPath query, and use the Content, Path
, or Xml parameter to specify the XML to be searched.



<

RELATED LINKS

Online version: http://go.microsoft.com/fwlink/?LinkID=135255
ConvertTo-XML

REMARKS

<

Examples


-------------------------- EXAMPLE 1 --------------------------

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

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



Description
-----------
This example searches the Types.ps1xml file for child items of the AliasProperty node.








-------------------------- EXAMPLE 2 --------------------------

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



Description
-----------
This command uses Select-XML to search in several XML files.








-------------------------- EXAMPLE 3 --------------------------

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

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



Description
-----------
This example shows how to pipe an XML document to Search-Path.








-------------------------- EXAMPLE 4 --------------------------

C:\PS>$namespace = @{command="http://schemas.microsoft.com/maml/dev/command/2004/10"; maml="http://schemas.microsoft.com/maml/2004/10"; dev="http
://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...
...



Description
-----------
This example shows how to use the Select-XML cmdlet to search the Windows PowerShell XML-based cmdlet help files.

The first command creates a hash table that represents the XML namespace and saves it in the $namespace variable.

The second command saves the path to the help files in the $path variable.

The third command uses Select-Xml to search the XML for cmdlet names by finding Command:Name tags anywhere in the files.








-------------------------- EXAMPLE 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



Description
-----------
This example uses the Content parameter of Select-XML to search XML content in a here-string.

The first command saves the here-string in the $xml variable.

The second command uses the Content parameter to specify the XML in the $xml variable.

The third command is equivalent to the second. It uses a pipeline operator (|) to send the XML in the $xml variable to the Select-XML cmdlet.

For more information about here-strings, type about_Quoting_Rules.