Xslt 使用STAX解析器合并多个XML文件

Xslt 使用STAX解析器合并多个XML文件,xslt,xml-parsing,stax,Xslt,Xml Parsing,Stax,我有多个XML文件。所有节点都相似。请提供一个如何使用STAX解析器合并XML文件并在其上应用样式表的示例。如果您想将XSLT应用于多个XML文档,那么(对于纯XSLT,我不知道STAX),您可以简单地使用文档函数(XSLT 1.0和2.0)或集合函数(对于XSLT 2.0),例如 然后在需要处理的文档中添加与元素名称匹配的模板。这个问题与此有什么关系?我试图通过样式表来实现这一要求。但后来决定使用STAX解析器,因为每次文件名都会更改。这适用于固定的文件名。但是我的用例不同,文件名将根据我

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

如果您想将XSLT应用于多个XML文档,那么(对于纯XSLT,我不知道STAX),您可以简单地使用
文档
函数(XSLT 1.0和2.0)或
集合
函数(对于XSLT 2.0),例如



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

这个问题与此有什么关系?我试图通过样式表来实现这一要求。但后来决定使用STAX解析器,因为每次文件名都会更改。这适用于固定的文件名。但是我的用例不同,文件名将根据我们要运行的作业而改变。如果您使用像Saxon 9这样的XSLT 2.0处理器,那么您应该能够使用
collection
函数从目录或文件夹加载文件。让我们知道这是否是您的选择。谢谢。这对我很有效。如果可能的话,请给我完整的例子。我正在执行一个非常类似的动作,听起来像是询问者在做什么。。。我很好奇如何处理这个问题。
<xsl:template match="/">
  <root>
    <xsl:apply-templates select="document('file1.xml')/* | document('file2.xml')/* | document('file3.xml')/*"/>
  </root>
</xsl:template>