gpt4 book ai didi

xml - 获取 XML 文件中字符串的 XPath

转载 作者:行者123 更新时间:2023-12-03 01:30:50 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Find xml node's full xpath

(3 个回答)


2年前关闭。




我有一些非常大的 XML 文件

<Frequency>14400</Frequency> 

它可以在文件中的任何位置,因为所有文件都有不同的架构,所以我无法使用预定义的 XPath 进行搜索。

我只需要找到所有频率 <= 14400 的节点并显示 XPath

很好的例子是我在这里复制的代码,但我需要 XPath 而不是 PATH。

有什么解决办法吗?

Get-ChildItem -Recurse |
Select-String -Pattern ">60<" |
group Path |
select Name

c:\temp\xml.xml::::/ManagementPack/Monitoring/Discoveries/Discovery/DataSource/Frequency 60
c:\temp\xml2.xml::::/ManagementPack/Monitoring/Discoveries/Discovery/DataSource/Frequency 100

最佳答案

如何使用 local-name XPATH 函数?

这会忽略命名空间,因此它适用于任何 XML。使用这种技术,您不需要从元素中查找 XPATH(这并不简单)。

适用于您的代码:

[xml]$xml = Get-Content ("<some_path>")
$result = $xml.SelectSingleNode("//*[local-name()='Frequency' and number(text()) <= 1440]")

关于xml - 获取 XML 文件中字符串的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363033/

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