PowerShell - выборка всех узлов XML на основе значения атрибута
Я пытаюсь получить все узлы XML, где значение атрибута "Tag" равно "Fetch" с помощью XPath, без особого зацикливания с использованием 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, используя метод XML "SelectNodes" и рекурсивно, но это слишком много для управления глубиной. Итак, существует ли Xpath для этого типа, если требуется, где я могу фильтровать узлы на основе значения атрибута.
Выход должен быть ниже 3 узлов
<Parameter Tag="Fetch"><![CDATA["Data"]]></Parameter>
<Node Tag="Fetch"><![CDATA["Data"]]></Node>
<Node1 Tag="Fetch"><![CDATA["Data"]]></Node1>