配置文件如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Environment" value="Dev Environment"/>
</appSettings>
</configuration>
如何在 Powershell 中获取“Environment”键的值?我的意思是,当您选择“环境”键时,它应该返回“开发环境”。
我更喜欢在这里使用 linq,任何有想法的人都非常感激。
最佳答案
我推荐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 在 XmlElement 和 XmlAttribute 对象上添加了 #text
NoteProperty,可用于访问节点的文本。
关于visual-studio-2010 - 在 powershell 中获取 app.config 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15939218/