Chapter 3. XPath Quick Reference
Just as regular expressions are the standard way
to interact with plain text, XPath is the standard way to interact with XML.
Because of that, XPath is something you are likely to run across in your
travels. Several cmdlets support XPath queries: Select-Xml
, Get-WinEvent
, and more. Tables 3-1 and 3-2 give a quick
overview of XPath concepts.
For these examples, consider this sample XML:
<AddressBook> <Person contactType="Personal"> <Name>Lee</Name> <Phone type="home">555-1212</Phone> <Phone type="work">555-1213</Phone> </Person> <Person contactType="Business"> <Name>Ariel</Name> <Phone>555-1234</Phone> </Person> </AddressBook>
Syntax | Meaning |
| Represents the root of the XML tree. For example:
PS > $xml | Select-Xml "/" | Select -Expand Node AddressBook ----------- AddressBook
|
| Navigates to the node named
For example:
PS > $xml | Select-Xml "/AddressBook" | Select -Expand Node Person ------ {Lee, Ariel}
|
| Navigates to the noded named
For example:
PS > $xml | Select-Xml "/AddressBook/*/Name" | Select -Expand Node #text ----- Lee Ariel
|
| Finds all nodes named
For example:
PS > $xml | Select-Xml "//Phone" | Select -Expand Node type #text ---- ----- home 555-1212 work 555-1213 555-1234
|
| Retrieves the parent node of the given node. For example:
PS>$xml | Select-Xml "//Phone" ... |
Get Windows PowerShell Pocket Reference, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.