使用 Powershell 将 XML 转为哈希表

标签 xml powershell hashtable

我要转换 XML :

<TEST>
    <ipAddress value="10.2.1.90"/>
    <gitDir value="C:\git\project"/>
    <gitArchiveDir value="C:\git\archive"/>
    <apacheDocroot value="/var/www"/>
    <apacheUsername value="root"/>
</TEST>

进入哈希表:

Name             Value

ipAddress        10.2.1.90
gitDir           C:\git\project
gitArchiveDir    C:\git\archive
apacheDocroot    /var/www
apacheUsername   root

目前正在使用这种读取方式:

$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
$File = $directorypath + '\config.xml'
$CONFIG = "CONFIG"
$CFG = [xml] ( gc $File )

$CFG.test.ipAddress

最佳答案

这应该可以解决问题:

PS C:\> $CFG = [xml]@'
>> <TEST>
>>     <ipAddress value="10.2.1.90"/>
>>     <gitDir value="C:\git\project"/>
>>     <gitArchiveDir value="C:\git\archive"/>
>>     <apacheDocroot value="/var/www"/>
>>     <apacheUsername value="root"/>
>> </TEST>
>> '@
>>
PS C:\> $ht = @{}
PS C:\> $CFG.test.ChildNodes | Foreach {$ht[$_.Name] = $_.Value}
PS C:\> $ht

Name                           Value
----                           -----
apacheUsername                 root
gitArchiveDir                  C:\git\archive
ipAddress                      10.2.1.90
apacheDocroot                  /var/www
gitDir                         C:\git\project

关于使用 Powershell 将 XML 转为哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409185/

相关文章:

java - 单击 Imgeview 时无法播放音乐文件

php - 使用 simpleXML 编辑 XML

powershell - 将参数传递给 Powershell

powershell - 语法问题 sn 未添加到 Set-ADUser 脚本的电子邮件字符串变量

java - 以 char 数组为索引和 int 为值的结构

java DOM xml文件创建 - 输出文件中没有制表符或空格

python - OpenERP 模块 xml ValidateError

xml - 在 Powershell 中使用命名空间循环 XML?

java - 具有多个值的键

c - 使用 hsearch_r 添加指向哈希表的指针