Как получить родительский узел данного дочернего узла с помощью PowerShell?

Я новичок в PowerShell. Я должен написать сценарий, который может вернуть мне первое родительское (node) значение, передав дочерний узел.

У меня есть следующий XML-код. Когда я прохожу мимо моего скрипта PowerShell значение "ААА", он должен вернуть "parent2", и, когда я прошел "III", и он должен вернуть "parent311".

может ли кто-нибудь помочь мне написать этот сценарий?

XML:

<root>
  <parent>
    <parent2>
      <child>AAA</child>
    </parent2>
    <parent3>
      <child>BBB</child>
      <child>CCC</child>
      <child>DDD</child>
    </parent3>
    <parent4>
      <child>EEE</child>
    </parent4>
    <parent5>
      <child>FFF</child>
    </parent5>
  </parent>
  <parent21>
    <parent211>
      <child>GGG</child>
    </parent211>
    <parent311>
      <child>HHH</child>
      <child>III</child>
      <child>JJJ</child>
    </parent311>
    <parent411>
      <child>KKK</child>
    </parent411>
    <parent511>
      <child>LLL</child>
    </parent511>
  </parent21>
</root>
29
задан Indrek
11.05.2023 20:21 Количество просмотров материала 3413
Распечатать страницу

1 ответ

если у вас есть ссылка на дочерний узел, вы можете получить его родительский узел, используя соответствующее имя ParentNode собственность. Например, с файлом XML, который вы опубликовали:

$xml = [xml](Get-Content file.xml)
$child = $xml.SelectSingleNode("root/parent/parent2/child")
$child.ParentNode.Name

конечно, вы, вероятно, используете какой-то другой метод, чтобы получить дочерний узел, чем SelectSingleNode(), но это служит для иллюстрации примера. Выход выше будет:

parent2
0
отвечен Indrek 2023-05-13 04:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх