我推荐xpath。
首先像这样创建一个XmlDocument对象:
$xml = [xml] @'
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Environment" value="Dev Environment"/>
</appSettings>
</configuration>
'@
... 或这个:
$xml = [xml] (Get-Content C:\file.xml)
然后使用 SelectNodes 或 SelectSingleNode 方法并提供您的 xpath 作为参数。xpath 是特定领域的语言,可能会有些复杂。这个 xpath 查询说给我所有名为 add 的节点的属性命名值,这些节点有一个名为 key 的属性,其值为 Environment。
$xml.SelectNodes('//add[@key="Environment"]/@value')[0].'#text'
PowerShell#text
在 XmlElement 和 XmlAttribute 对象上添加了一个 NoteProperty,您可以使用它来访问节点的文本。