У меня возникла проблема с наиболее эффективным способом получения всех значений узлов с определенным именем из XML.Получение значений из всех узлов с определенным именем из XML
Например:
<h1>
<MyNode>Node One</MyNode>
<h2>
<MyNode>Note Two</MyNode>
<DiffrentNode>I dont want that</DiffrentNode>
<h3>
<MyNode>Node Three</MyNode>
</h3>
</h2>
<HHH1>
<MyNode>Node Four</MyNode>
</HHH1>
</h1>
<g2>
<MyNode>Node Five</MyNode>
</g2>
Из XML Я хочу, чтобы получить эти значения:
- Узел Один
- Узел Два
- Узел Три
- Узел Четыре
- Узел Пять
Я хотел бы быть в состоянии сделать то же самое с кодом вроде этого:
<h1>
<h2 MyArgument = "Argument One" Stuff = "I dont want that">
<DiffrentNode>Something I dont want</DiffrentNode>
<h3 MyArgument = "Argument Two" Stuff = "I dont want that too">
</h3>
</h2>
<HHH1>
<DiffrentNode>Something I dont want</DiffrentNode>
</HHH1>
</h1>
<g2 MyArgument = "Argument Three">
<DiffrentNode>Something I dont want</DiffrentNode>
</g2>
и получите:
- Довод Один
- Довод Два
- Довод Три
Любые идеи? До сих пор я пробовал делать:
$xdoc = New-Object System.Xml.XmlDocument
$file = Resolve-Path("C:\CompiledDynoview.xml")
$xdoc.load($file)
[xml] $xdoc = Get-Content $file
$xdoc.h1.MyNode
$xdoc.h1.h2.MyNode
$xdoc.h1.h3.MyNode
...
Но это не похоже на лучший способ. Должно быть что-то лучше.
'Select-Xml -XPath '// MyNode' -Path 'C: \ CompiledDynoview.xml'' – PetSerAl