【发布时间】:2014-03-06 13:03:15
【问题描述】:
我有一个来自 NAVISION 实例的配置文件。
文件格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<appSettings>
<add key="NetType" value="Default"></add>
<add key="DatabaseServer" value="SQLSERVER"></add>
<add key="DatabaseInstance" value="MSSQL"></add>
......
</appSettings>
我目前使用这个代码:
[xml]$configfile = Get-Content "CustomSettings.config"
$appsettings = $configfile.appSettings.add.GetEnumerator()
Echo $appsettings
我在 Powershell 中得到的最终结果是这样的:
key value
--- -----
NetType Default
DatabaseServer SQLSERVER
DatabaseInstance MSSQL
... .....
但是,如果我尝试使用 $appsettings.'DatabaseServer'(或 $appsettings.DatabaseServer)获取例如 DatabaseServer,它将不会返回任何内容。
这行得通;
ForEach ($keypair in $appsettings) {
echo $($keypair.Key + " - " + $keypair.Value);
}
但由于我只需要 5 个值,我不想创建一个带有 5 个 IF 的 ForEach 循环。必须有更好/更快的方法。提前致谢!
【问题讨论】:
标签: powershell hashtable configuration-files