Advertisement
private775

[PS] Find xml node xpath

May 16th, 2018
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function FindXPath([System.Xml.XmlNode]$node) {
  2.     [string]$cur = ''
  3.     if($node -ne $null){
  4.         if($node.NodeType -eq [System.Xml.XmlNodeType]::Attribute) {
  5.             $cur = "/@[$($node.Name)]"
  6.         } elseif($node.NodeType -eq [System.Xml.XmlNodeType]::Element) {
  7.             $cur = "/$($node.Name)"
  8.         } elseif($node.NodeType -eq [System.Xml.XmlNodeType]::Document) {
  9.             $cur = ""
  10.         } else {
  11.             $cur = "Not Supported"
  12.         }
  13.         $cur = "$(FindXPath($node.ParentNode))$($cur)"
  14.     }
  15.     return $cur
  16. }
  17.  
  18. [xml]$xml = Get-Content $xmlfile
  19.  
  20. $nodes = $xml.SelectNodes("//Guid")
  21. $nodes | % { FindXPath $_ }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement