У меня есть этот XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Clients xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<set>
<name>mario1</name>
<sn>GSI100-A-00100</sn>
<status>OK</status>
<version>V</version>
</set>
<set>
<name>mario2</name>
<sn>GSI100-A-00101</sn>
<status>OFF</status>
<version>v49</version>
</set>
<set>
<name>mario3</name>
<sn>GSI100-A-00101</sn>
<status>OK</status>
<version>v49</version>
</set>
</Clients>
, и я пытаюсь найти узел с <name>
равным значению переменной (в данном случае $find
) и пытаюсь вернуть внутренний текстэлемент <status>
того же узла.Это то, что я делаю, но все, что я получаю, это ноль.
$xmledit = New-Object System.Xml.XmlDocument
$xmledit = "C:\Users\bigadmin\Desktop\Projects\AutoUpdate\test.xml"
[xml]$Xmlnew = Get-Content ($xmledit) -Encoding UTF8
$find = "mario1"
foreach ($search in $Xmlnew.clients.set) {
$nodeexists = $search.SelectSingleNode("name") |
Where {$_.nodeexists -eq "$find"}
return $nodeexists.clients.set.sn.InnerText
}