如何使用PowerShell从XML文件传递属性名来获取属性值。例如,以下是XML文件内容
<?xml version="1.0" encoding="utf-8"?>
<MyProject>
<!-- My Comment Here -->
<MyPropertyGroup>
<PropertyID>2</PropertyID>
<PropertyName>ItsMyName</PropertyName>
</MyPropertyGroup>
<MyPropertyGroup>
<MobileNo>3</MobileNo>
<NickName>ItsMyNickName</NickName>
</MyPropertyGroup>
</MyProject>
我试过如下:
[xml]$file = Get-Content 'C:\Temp\MyTest.xml'
$file.ChildNodes[1].GetElementsByTagName("PropertyName")
但它返回的结果如下:
#text ----- ItsMyName
我希望将ItsMyName
作为结果存储到变量中。
答案 0 :(得分:2)
您可以像这样扩展属性
$file.ChildNodes[1].GetElementsByTagName("PropertyName")."#text"
或者为了能够接受多重结果,您可以将其管道传输到Select-Object
,就像这样
$file.ChildNodes[1].GetElementsByTagName("PropertyName") | Select-Object -ExpandProperty "#text"
答案 1 :(得分:1)
您可以访问类似属性的节点:
$file.MyProject.MyPropertyGroup[0].PropertyName
<强>输出:强>
ItsMyName