Как мне указать xml свойств для чтения в узлах выбора PowerShell - PullRequest
0 голосов
/ 01 марта 2020

Привет всем и спасибо за вашу помощь

в очень длинном XML документе, мне нужно прочитать содержимое для следующих строк в powershell

1)

<wd:Address_Data wd:Effective_Date="2015-06-01-07:00" wd:Address_Format_Type="Extended" wd:Formatted_Address="my_adress_XXX&#xa;ZZZ&#xa;WWW" wd:Defaulted_Business_Site_Address="0">

2)

<wd:Address_Line_Data wd:Type="ADDRESS_LINE_1" wd:Descriptor="Street Name and Type">my_adressXXX</wd:Address_Line_Data>

Я пробовал много (без успеха), таких как

$o.Adr = $my_XML.SelectNodes('./wd:hierarchy1/wd:hierarchy2/wd:hierarchy3/wd:Address_Data/wd:ID@wd:Formatted_Address]]', $NM).InnerText

или

$o.Adrl1 = $workerJobData.SelectNodes('./wd:hierarchy1/wd:hierarchy2/wd:hierarchy3/wd:Address_Data/wd:ID[@wd:type="ADDRESS_LINE_1" and .Descriptor="Street Name and Type"]]', $NM).InnerText

, где NM - верхний уровень xml узел

            foreach ($x in $elements.SelectNodes('//wd:WWW', $NM)) 

относительно 1) мне нужно будет прочитать содержимое независимо от того, что Effective_Date (используйте последние, если их много)

я уверен в своем пути, поскольку я уже прочитал другие "одиночные" записи, но у меня возникают трудности при обращении к "мульти-свойствам внутри xml ключа", например, в моих примерах

С уважением

Эммануэль

1 Ответ

0 голосов
/ 09 марта 2020

хорошо, я наконец узнал! , для заинтересованных

для 1) $ adr = $ workerJobData.Position_Data.Business_Site_Summary_Data.Address_Data.Formatted_Address

и для 2) $ temp = $ workerJobData.Position_Data.Business_Site_Sataressress_Data_Data_Data_Data_Data Where-Object {$ _. Type -eq 'ADDRESS_LINE_1'}
$ Adrl1 = $ temp.Innertext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...