Find text in an XML string or document using an XPath query.
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] Key -Content string[] A string that contains the XML to search. You can also pipe strings to Select-XML. -Namespace hashtable A hash table of the namespaces used in the XML. Use the format @{namespaceName = namespaceValue}. -Path path The path and file names of the XML files to search. Wildcards are permitted. -Xml XmlNode[]
One or more XML nodes. A Path or XML parameter is required in every command.
An XML document will be processed as a collection of XML nodes. If an XML document is passed to Select-XML, each
document node will be searched separately as it comes through the pipeline.
-Xpath string
An XPath search query. The query language is case-sensitive. This parameter is required. CommonParameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, -OutBuffer -OutVariable.
Examples
Search the Types.ps1xml file for child items of the AliasProperty node:
C:\PS> $path = "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml"
C:\PS> select-xml -path $path -xpath "/Types/Type/Members/AliasProperty"
Search in several XML files:
C:\PS> select-xml -path test*.xml, help.xml -xpath "/Tests/Test[1]/Name"
Pipe an XML document to Select-XML:
C:\PS> [xml]$Types = get-content "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml"
C:\PS> select-xml -xml $Types -xpath "//MethodName"
"Content is king" - Webmonkey @Wired.com circa 1996
Related PowerShell Cmdlets:
ConvertTo-Xml - Convert the input into XML