gpt4 book ai didi

xml - 使用 XPath 检索特定属性的属性值

转载 作者:行者123 更新时间:2023-12-02 23:39:27 25 4
gpt4 key购买 nike

在 PowerShell 中,我尝试使用 XPath 检索属性值。在下面的示例中,我想获取“hi”类别的“name”值,这将是“new test”。

示例代码显示:

<Report name="test" category="thisone">
<String>test</String>
<String>test2</String>
<Report name="new test" category="hi">
<String>hello</String>
<String>hi again</String>
</Report>
</Report>

这是我的:

Select-Xml -XPath "//Report[@name='test']/Report" | Select name |
Out-File "result.txt"

我的结果是:

name----

我真的不需要指定类别属性,因为 <Report>标签将始终位于第一个 <Report> 之后标记,所以这就是为什么我认为使用 XPath 会更容易。

最佳答案

您需要先展开节点。Select-XML 正在提供对象。如果你这样做:

Select-Xml -Xml $XML -XPath "//Report[@name='test']/Report"

你会得到

Node : Report

Path : InputStream

Pattern : //Report[@name='test']/Report

展开“节点”后,您将获得更多属性

Select-Xml -Xml $XML -xPath "//Report[@name='test']/Report" | Select-Object –ExpandProperty “node” | select *

name : new test

category : hi

String : {hello, hi again}

LocalName : Report

...etc...etc

完整概念如下

[xml]$XML = @"
<Report name="test" category="thisone">
<String>test</String>
<String>test2</String>
<Report name="new test" category="hi">
<String>hello</String>
<String>hi again</String>
</Report>
</Report>
"@

Select-Xml -Xml $XML -xPath "//Report[@name='test']/Report" | Select-Object –ExpandProperty “node” | select name

关于xml - 使用 XPath 检索特定属性的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45963811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com