Я пытаюсь разобрать XML, который не состоит из равномерных атрибутов. ПримерАнализ несогласованных XML-объектов с использованием Powershell
<root>
<object>
<name>Object1</name>
<valueString>string</valueString>
</object>
<object>
<name>Object2</name>
<valueBoolean>true</valueBoolean>
</object>
</root>
Количество дополнительных атрибутов всегда то же самое, но иногда его логическое значение, и иногда его строка и имя тега изменяется соответствующим образом. Проблема заключается не в самом типе, а в Powershell, я должен знать имя тега заранее, чтобы получить прикрепленное к нему значение.
На данный момент я делаю что-то вроде этого:
foreach($item in $items){
if(!$item.object.valueString){
$temp = $item.object.valueBoolean
}
else{
$temp = $item.object.valueString
}
$properties = @{
Name = $item.object.Name
value = $temp
}
}
Это работает, но я хотел бы более элегантное решение + на данный момент это довольно жесткая, и вы должны обслуживать каждую возможность.
Есть ли лучший способ?
Приветствия
легенда человек !! .. $ object.ChildNode [x]. '# text' ftw – GradiusX