Вот мой пример XML:Перебора дочерних узлы
<root>
<Countries>
<Country Name="USA">
<MyFilters>
<Filter>aaa</Filter>
<Filter>bbb</Filter>
<Filter>ccc</Filter>
<Filter>ddd</Filter>
</MyFilters>
</Country>
</Countries>
</root>
Я пытаюсь Переберите каждый <Filter>
тега и использовать его значение - «ааа», «BBB», & hellip; для моего последующего процесса в PowerShell. Я использую XPath для доступа к этим значениям.
Вот мой сценарий:
[xml]$config_xml = Get-Content $config_path
$Country = $config_xml.selectnodes('/root/Countries/Country[@Name = "USA"]/MyFilters')
foreach ($Filter in $Country) {
Write-Host $Filter.InnerText
}
Но это выводит меня все <Filter>
значения в одной строке, например так: aaa bbb ccc ddd
. Как использовать мой XPath для получения одного фильтра за раз? Или есть способ конвертировать этот вывод в объект массива PowerShell, который я могу снова зацикливать?
Спасибо за ваш ответ. Я получаю XML-содержимое следующим образом - [xml] $ config_xml = Get-Content $ config_path и сохраняя его в объекте XML. Не могли бы вы рассказать мне, что происходит в вашем примере? И как я могу использовать мой путь к файлу XML здесь? – jeevag
надеюсь, что теперь ясно, –
да, спасибо. – jeevag