我正在尝试使用 XPath 获取所有 XML 节点,其中属性“Tag”值是“Fetch”,而不使用 PowerShell 5.1 进行太多循环。请帮忙。
[xml] $XMLValue=@'
<Root>
<Child>
<Parameter Tag="Fetch"><![CDATA["Data"]]></Parameter>
<Parameter Tag="DontFetch"><![CDATA["Data"]]></Parameter>
</Child>
<Child>
<Test>
<Node Tag="Fetch"><![CDATA["Data"]]></Node>
<Node Tag="DontFetch"><![CDATA["Data"]]></Node>
</Test>
</Child>
<Child>
<Test>
<Test1>
<Node1 Tag="Fetch"><![CDATA["Data"]]></Node1>
<Node2 Tag="DontFetch"><![CDATA["Data"]]></Node2>
</Test1>
</Test>
</Child>
</Root>
'@
我尝试使用 XML“SelectNodes”方法和递归循环在 XML 的每个元素中,但是管理深度太多了。如果需要,是否有这种类型的 Xpath,我可以在其中根据属性值过滤节点。
输出应低于 3 个节点
<Parameter Tag="Fetch"><![CDATA["Data"]]></Parameter>
<Node Tag="Fetch"><![CDATA["Data"]]></Node>
<Node1 Tag="Fetch"><![CDATA["Data"]]></Node1>