我想使用saxon进行xpath查询,但我不知道要加载多个xml文件。
我正在尝试使用saxon和windows的命令行
我在撒克逊手册中读到了我可以使用命令:
Query.exe -s:myDataFile.xml -q:myQueryFile -o:myOutputFile
但我不知道如何加载多个xml文件而不只是一个
编辑: 我有许多xml文件myDataFile1.xml,myDataFile2.xml,myDataFile3.xml ...我想运行查询alla这些文件所以我想加载所有所有文件,然后查询它们(我不想查询每个文件然后连接结果)
答案 0 :(得分:6)
使用标准XPath 2.0函数collection()。
特定于Saxon的collection()
实施文档为 here 。
您可以使用标准的XPath 2.x collection() 功能, as implemented in Saxon 9.x
Saxon实现允许在函数的string-Uri参数中使用搜索模式,因此您可以在目录路径之后指定任何以report_
开头的文件名的模式然后具有另外两个字符,然后以.xml
结尾。
示例强>:
这个XPath表达式:
collection('file:///c:/?select=report_*.xml')
选择位于c:\
的文件中的每个XML文档的文档节点,其名称以report_
开头,然后包含0个或更多字符,然后以.xml
结尾。