PowerShell:检索特定的内部XML元素

时间:2010-05-26 08:45:22

标签: xml powershell powershell-v1.0

我有一个具有这种结构的XML文档:

<Fruits>
    <Fruit>
        <Code>1</Code>
        <Name>Apple</Name>
    </Fruit>
</Fruits>

在PowerShell 1代码中通过代码(或任何其他字段)获取<Fruit>元素的最佳方法是什么? (不是XPath,因为它仅在PowerShell 2中受支持)

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以从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 }

答案 1 :(得分:3)

如果您愿意,可以在V1中使用XPath:

$xml = [xml](get-content $xmlFile)
$xml.SelectSingleNode("//Fruit[2]")

Code                                                        Name
----                                                        ----
2                                                           Orange