使用 PowerShell 选择 XML 标记的值

Selecting value of XML tag with PowerShell

我是 PowerShell 的新手,我很难阅读这些 XML 数据。 XML 看起来像这样:

XML

<RESULTS>
    <ROW>
        <COLUMN NAME="ATTR1"><![CDATA[123456ABCDEF]]></COLUMN>
        <COLUMN NAME="ATTR2"><![CDATA[0.0.0.0]]></COLUMN>
        <COLUMN NAME="ATTR3"><![CDATA[Hello World]]></COLUMN>
        <COLUMN NAME="ATTR4"><![CDATA[Lorem ipsum]]></COLUMN>
        <COLUMN NAME="ATTR5"><![CDATA[This is some text]]></COLUMN>
    </ROW>
</RESULTS>

这是我的 PowerShell 到目前为止的样子:

PowerShell

$xmlpath = 'Path\To\XML\File.xml'

$xmldata = [xml](Get-Content $xmlpath)

$xmldata.RESULTS.ROW.COLUMN | Select | Where-Object {$_.NAME -eq "ATTR3"}

这是结果:

结果

ATTR3 Hello World                              

我想只检索“Hello World”,但我的脚本也在检索属性名称 (ATTR3)。我错过了什么?

期望结果示例

Hello World

为了社区的参考,下面提供了 Santiago Squarzon 的解决方案:

解决方案

$xmldata.RESULTS.ROW.COLUMN.Where{ $_.NAME -eq "ATTR3"}.'#cdata-section'