【问题标题】:merge multiple XML files using STAX parser使用 STAX 解析器合并多个 XML 文件
【发布时间】:2014-12-22 04:38:27
【问题描述】:

我有多个 XML 文件。所有节点都相似。请提供一个示例如何使用 STAX Parser 合并 XML 文件并在其上应用样式表。

【问题讨论】:

  • 这个问题和another question of yours有什么关系?
  • 我试图通过样式表来实现这个要求。但后来决定使用 STAX 解析器,因为每次文件名都会改变。

标签: xslt xml-parsing stax


【解决方案1】:

如果您想将 XSLT 应用于多个 XML 文档(使用纯 XSLT,我不了解 Stax),您可以简单地使用 document 函数(XSLT 1.0 和 2.0)或 collection 函数(使用XSLT 2.0) 例如

<xsl:template match="/">
  <root>
    <xsl:apply-templates select="document('file1.xml')/* | document('file2.xml')/* | document('file3.xml')/*"/>
  </root>
</xsl:template>

然后添加与您要处理的文档中的元素名称匹配的模板。

【讨论】:

  • 这适用于固定文件名。但我的用例不同,文件名会根据我们要运行的作业而改变。
  • 如果您使用像 Saxon 9 这样的 XSLT 2.0 处理器,那么您应该能够使用 collection 函数从目录或文件夹加载文件。让我们知道这是否适合您。
  • 谢谢。它对我有用。如果可能的话,请给我完整的例子。
  • 我正在执行与提问者所做的非常相似的操作......很好奇如何解决这个问题。
猜你喜欢
  • 2012-04-11
  • 2016-10-30
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-13
  • 1970-01-01
相关资源
最近更新 更多