跨50个XML文件查询的XPath函数?

跨50个XML文件查询的XPath函数?,xml,search,xpath,notepad++,Xml,Search,Xpath,Notepad++,论坛各位成员: 我有50个XML文件,我需要能够对所有50个XML文件执行XPath查询。我正在使用记事本+++和XPath计算器插件。我需要帮助编写一个XPath表达式来查询所有50个XML文件。所有50个XML文件都位于C:\Root\Test\ 我所需要的只是帮助我找出在XPath表达式中使用的正确函数,以便它搜索位于测试文件夹中的所有XML文件。我知道,NotePad++可以将所有文件作为一个组进行搜索。但是,我需要使用我的XPath Evaluator插件来完成这项工作。任何帮助都将不

论坛各位成员:

我有50个XML文件,我需要能够对所有50个XML文件执行XPath查询。我正在使用记事本+++和XPath计算器插件。我需要帮助编写一个XPath表达式来查询所有50个XML文件。所有50个XML文件都位于
C:\Root\Test\

我所需要的只是帮助我找出在XPath表达式中使用的正确函数,以便它搜索位于测试文件夹中的所有XML文件。我知道,NotePad++可以将所有文件作为一个组进行搜索。但是,我需要使用我的XPath Evaluator插件来完成这项工作。任何帮助都将不胜感激


先谢谢你

您需要一个
XPath 2.0
(或
XQuery 1.0
)处理器,该处理器支持
collection()
函数并允许访问目录

下载
Saxon
并执行以下操作:

java net.sf.saxon.Query -qs:"collection('file:///Root/test?select=*.xml')//x[y='z']" 

嗯,我可能错了,但是XPath表达式似乎被设计成只对当前加载的DOM求值,而不是在满是文件的文件夹中执行。您使用什么插件将XPath表达式扩展到多个文件?(我非常感兴趣——我在工作中编写了一个工具,可以搜索一个包含XML文件的文件夹以获取特定信息,它的工作原理是打开每个文件,然后执行XPath搜索以查看是否找到了内容。如果有更简单的方法,我会感兴趣。)在XPath 2.0中,可以使用
collection()
函数()这样做。但是我非常怀疑你的插件是否支持XPath2.0。Saxon非常容易从命令行运行,并且可以轻松处理您的需求。如果您感兴趣,请告诉我,我将给出一个示例作为答案。Daniel和Ken我正在使用记事本++插件,可在以下链接中下载:它没有提及它是否符合XPath 2.0。我已经测试了COLLECTION命令,它似乎不喜欢它。因此,它可能不是XPath2.0。有人知道我的Notepad++XPath计算器插件可能使用什么XPath函数吗。我假设有一个函数可以替代COLLECTION命令。谢谢Michael。下面的下载链接正确吗?是的,但最新的维护版本是9.5.1.4。