0

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

我正在尝试将撒克逊与 Windows 的命令行一起使用

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

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

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

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

4

1 回答 1

6

使用标准的 XPath 2.0 函数collection()

Saxon 特定实现的文档collection()这里

您可以使用Saxon 9.x 中实现的标准 XPath 2.x collection()函数

Saxon 实现允许在函数的 string-Uri 参数中使用搜索模式,因此您可以在目录的路径之后为任何文件名指定一个模式,该模式以任何文件名开头,report_然后是其他两个字符,然后以.xml.

示例

这个 XPath 表达式:

collection('file:///c:/?select=report_*.xml')

选择驻留在文件中的每个 XML 文档的文档节点,c:\该文件的名称以 0 或多个字符开头report_,然后以 . 结尾.xml

于 2010-10-08T03:18:14.113 回答