Вызов внутреннего текста элемента в мультиузле XML - PullRequest
0 голосов
/ 04 июня 2019

У меня есть этот 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...