使用 Powershell 将 XML 转为哈希表
Posted
技术标签:
【中文标题】使用 Powershell 将 XML 转为哈希表【英文标题】:XML to Hash Table using Powershell 【发布时间】:2012-09-06 17:07:31 【问题描述】:我要转换 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
【问题讨论】:
【参考方案1】:这应该可以解决问题:
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 转为哈希表的主要内容,如果未能解决你的问题,请参考以下文章