如何使用saxon加载多个xml文件

时间:2010-10-07 14:32:27

标签: xpath saxon

我想使用saxon进行xpath查询,但我不知道要加载多个xml文件。

我正在尝试使用saxon和windows的命令行

我在撒克逊手册中读到了我可以使用命令:

  

Query.exe -s:myDataFile.xml -q:myQueryFile -o:myOutputFile

但我不知道如何加载多个xml文件而不只是一个

编辑: 我有许多xml文件myDataFile1.xml,myDataFile2.xml,myDataFile3.xml ...我想运行查询alla这些文件所以我想加载所有所有文件,然后查询它们(我不想查询每个文件然后连接结果)

1 个答案:

答案 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结尾。