PowerShell XML。 (点)符号,如何读取具有属性的元素的值?

问题描述 投票:0回答:1

早上好,我有一个 XML 文件,但无法读取已定义属性的节点的内部 html。

文件:

<?xml version="1.0" encoding="UTF-8"?>
<Settings>
    <Element1 Attr1="AttrValue1">ElemValue1</Element1>
    <Element2>ElemValue2</Element2>
</Settings>

代码:

[XML] $xconf= get-content $XmlFullFilename
write-Host $xconf.Settings.Element1
write-Host $xconf.Settings.Element2

输出:

C:\Temp>script.ps1
                   <-- nothing
ElemValue2

但是如果我从第一个元素中删除该属性,它就会起作用

文件:

<?xml version="1.0" encoding="UTF-8"?>
<Settings>
    <Element1>ElemValue1</Element1>
    <Element2>ElemValue2</Element2>
</Settings>

输出:

C:\Temp>script.ps1
ElemValue1
ElemValue2

我如何访问第一个元素值,该元素有一个属性? 我更喜欢用点表示法(file.section.element.etc....)

谢谢你 最大

xml powershell
1个回答
0
投票

在这种情况下,您可以扩展

.ChildNodes.InnerText

$xml.Settings.ChildNodes.InnerText

# Outputs:
# ElemValue1
# ElemValue2
© www.soinside.com 2019 - 2024. All rights reserved.