Я пытаюсь получить значения для тегов <Attribute>
, <Condition>
и <Group>
.
Может быть несколько тегов <Attribute>
, поэтому мне нужно извлекать значения отдельно.
Я пытаюсь подготовить условие из вышеперечисленных тегов. Что-то вроде ниже.
if (HireType -eq 'KI' -and HireType1 = 'KI1' ){
$Groups = 'A,B,C'
}
Я пытался написать код с помощью hep ChildNodes, но он объединяет тексты, если есть несколько тегов.
XML
<UserData>
<FilterCriteria>
</FilterCriteria>
<GroupCriteria>
<Criteria>
<Attributes>
<Attribute>
<AttrName>HireType</AttrName>
<AttrValue>KI</AttrValue>
</Attribute>
<Attribute>
<AttrName>HireType1</AttrName>
<AttrValue>KI1</AttrValue>
</Attribute>
<Condition>and</Condition>
<Groups>A,B,C</Groups>
</Attributes>
</Criteria>
</GroupCriteria>
</UserData>
Код
[xml] $xml = Get-Content -Path C:\Users\Arun\Desktop\UserData.xml
$xml.UserData.GroupCriteria | foreach {
$_.Criteria | foreach {
$_.Attributes | foreach {
$_.ChildNodes | % {
$Name = $_.Name
$Value = $_.InnerText
write-host "$Name : $Value"
}
}
}
}
выход
Attribute : HireTypeKI
Attribute : HireType1KI1
Condition : and
Groups : A,B,C