目前我们有一个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到迭代器,但有没有任何一种方法可以做到这一点?
由于
答案 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
}