获取XML文件中字符串的XPath
我有一些非常大的XML文件获取XML文件中字符串的XPath,xml,powershell,Xml,Powershell,我有一些非常大的XML文件 14400 它可以在文件中的任何位置,因为所有文件都有不同的模式,所以我无法使用预定义的XPath进行搜索 我只需要找到所有频率的节点,使用XPATH函数怎么样 这会忽略名称空间,因此它可以处理任何XML。使用这种技术,您不需要从元素中查找XPATH(这并不简单) 适用于您的代码: [xml]$xml = Get-Content ("<some_path>") $result = $xml.SelectSingleNode("//*[local-name
14400
它可以在文件中的任何位置,因为所有文件都有不同的模式,所以我无法使用预定义的XPath进行搜索
我只需要找到所有频率的节点,使用XPATH函数怎么样
这会忽略名称空间,因此它可以处理任何XML。使用这种技术,您不需要从元素中查找XPATH(这并不简单)
适用于您的代码:
[xml]$xml = Get-Content ("<some_path>")
$result = $xml.SelectSingleNode("//*[local-name()='Frequency' and number(text()) <= 1440]")
[xml]$xml=Get Content(“”)
$result=$xml.SelectSingleNode(“//*[local-name()='Frequency'和number(text())OP询问的是如何获取已选择节点的路径,而不是如何使用XPath选择节点。我在链接问题的公认答案中创建了一个-优雅但有限的-函数。XPath 3显然提供了一个内置函数,但至少目前.NET似乎不支持:请参阅。
[xml]$xml = Get-Content ("<some_path>")
$result = $xml.SelectSingleNode("//*[local-name()='Frequency' and number(text()) <= 1440]")