如何使用powershell来获取特定的xml元素?

时间:2017-06-18 11:32:13

标签: c# xml powershell

目前我们有一个xml文件,例如:

<file>
 <dircetory name="test">
  <directory name="test1">
   <directory name="test2"></directory>
  </directory>
 </directory>
 <directory name="test2">
 </directory>
</file>

xml结构不稳定,但我需要按名称属性

获取xml节点

现在我得到&#34; test2&#34;字符串,并尝试获取<directory name="test2"></directory>元素,我可以逐个使用foreach到迭代器,但有没有任何一种方法可以做到这一点?

由于

1 个答案:

答案 0 :(得分:1)

您可以使用这样的XPath表达式来查找相关节点:

//*[@name='test2']

然后使用Select-Xml cmdlet和foreach循环迭代匹配的节点:

foreach($result in Select-Xml -Path document.xml -XPath "//*[@name='test2']"){
    # Work with $result.Node in here
}