Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取XML文件中字符串的XPath_Xml_Powershell - Fatal编程技术网

获取XML文件中字符串的XPath

获取XML文件中字符串的XPath,xml,powershell,Xml,Powershell,我有一些非常大的XML文件 14400 它可以在文件中的任何位置,因为所有文件都有不同的模式,所以我无法使用预定义的XPath进行搜索 我只需要找到所有频率的节点,使用XPATH函数怎么样 这会忽略名称空间,因此它可以处理任何XML。使用这种技术,您不需要从元素中查找XPATH(这并不简单) 适用于您的代码: [xml]$xml = Get-Content ("<some_path>") $result = $xml.SelectSingleNode("//*[local-name

我有一些非常大的XML文件

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]")