Suppose the following PowerShell line of code
$node = Select-Xml -Path $filePath -XPath "//*[@$someAttribute]"
How can I get the node's xpath? I figured I could just traverse up using its ParentNode property, but is there a better way to do it?
I don't think there's anything built into PowerShell to do what you want. Recursing upwards isn't too difficult, though. A function like this should work:
function Get-XPath($n) {
if ( $n.GetType().Name -ne 'XmlDocument' ) {
"{0}/{1}" -f (Get-XPath $n.ParentNode), $n.Name
}
}