Java:在单个XSL文件上转换多个XML文件以生成单个输出XML文件

时间:2017-12-08 08:09:37

标签: java xml xslt xslt-2.0

我需要使用单个XSL将多个输入XML文件转换为单个输出XML。 我能够使用java JAXP在单个XSL文件上转换单个XML。下面是我使用的代码,但我不知道如何将多个输入XML文件传递给单个XSL文件

        TransformerFactory factory = TransformerFactory.newInstance();
        StreamSource xslStream = new StreamSource("Transform_LineSequenceNumber1.xsl");

        StreamSource in = new StreamSource("Transform_LineSequenceNumber1-Source.xml");
        StreamResult out = new StreamResult("Output.xml");

        try {
            Transformer transformer = factory.newTransformer(xslStream);
            transformer.transform(in, out);

        } catch (Exception e) {
            e.printStackTrace();
        }

2 个答案:

答案 0 :(得分:0)

除了dtOfEach: 2.5 1 4.5函数之外,XSLT还有标准函数collection来在样式表中加载额外的xml。

例如,您可以存储在varablie中,然后将模板应用于该变量

document

详细的example摘自o' reilly XSLT书。

答案 1 :(得分:0)

使用ByteArrayOutputStream(baos)将每个文件的转换写入流。 在处理每个文件之后,获取baos.toString()值,并通过外部FileWriter将该值写入。每次迭代后重置baos。