Reputation: 5522
I have an XML document with this structure:
<Fruits>
<Fruit>
<Code>1</Code>
<Name>Apple</Name>
</Fruit>
</Fruits>
What is the best way to get a <Fruit>
element by its code (or any other field) in PowerShell 1 code?
(Not XPath, as it is supported in PowerShell 2 only)
Thanks!
Upvotes: 3
Views: 17959
Reputation: 173
You can use XPath in V1 like this, if you prefer:
$xml = [xml](get-content $xmlFile)
$xml.SelectSingleNode("//Fruit[2]")
Code Name
---- ----
2 Orange
Upvotes: 4
Reputation: 29469
You can access the nodes like objects from Posh V1
$xml = [xml]"<Fruits>
<Fruit>
<Code>1</Code>
<Name>Apple</Name>
</Fruit>
<Fruit>
<Code>2</Code>
<Name>Orange</Name>
</Fruit>
</Fruits>"
$orange = $xml.Fruits.Fruit | ? { [int]$_.Code -eq 2 }
Upvotes: 5