小编Sun*_*ile的帖子

Powershell:按元素索引将 XML 节点值选择到变量中

我有这个 PowerShell 脚本,用于解析 XML 文件的不同方面。因此,我想检索特定 XML 节点的值并将其保存到变量中。我想要选择的这个节点在 XML 文件中存在多次,因此我需要能够提及我想要检索的节点的具体编号。

XML 文件:

<lvl1>
    <lvl2>
        <lvl3>
            <lvl4>test1</lvl4>
            <lvl4>test2</lvl4>
            <lvl4>test3</lvl4>
        </lvl3>
    </lvl2>
</lvl1>
Run Code Online (Sandbox Code Playgroud)

我尝试过的Powershell脚本:

1 不返回任何内容并且没有错误

[xml] $response = get-content "FilePath\Resp.xml"
[string] $Var = $response.SelectSingleNode('lvl1/lvl2/lvl3/lvl4[2]').InnerText
Run Code Online (Sandbox Code Playgroud)

2 返回错误:“无法索引到空数组。”

[xml] $response = get-content "FilePath\Resp.xml"
$Var = $response.lvl1.lvl2.lvl3.lvl4[2].'#text'
Run Code Online (Sandbox Code Playgroud)

xml powershell xpath xmldocument xmlnode

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

powershell ×1

xml ×1

xmldocument ×1

xmlnode ×1

xpath ×1