【问题标题】:how to load multiple xml files with saxon如何使用 saxon 加载多个 xml 文件
【发布时间】:2011-04-22 09:57:45
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 您想通过多个来源运行查询吗?
  • 我有很多 xml 文件 g1.xml g2.xml g3.xml ...我想对这些文件运行查询所以我想加载所有文件然后查询它们(我不想查询每个文件然后连接结果)

标签: xpath saxon


【解决方案1】:

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

collection() 的 Saxon 特定实现的文档是 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 结尾。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多