使用JAXB合并多个文件

时间:2018-04-16 13:09:12

标签: java xml merge jaxb

这是我第一次使用stackoverflow而且我不会说英语,所以请你好。

我在追加模式中使用Jaxb

for (Document330 document : documents){
  JAXBContext jContext = JAXBContext.newInstance(Document330Xml.class);
    Marshaller m = jContext.createMarshaller();
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
    m.marshal(document, fos);
}

我有一个类似的输出文件:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DOCUMENT>
    <MAILING>
        <REF>M584</REF>
        <LIBELLE>Mail Test 1</LIBELLE>
    </MAILING>
</DOCUMENT>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DOCUMENT>
    <MAILING>
        <REF>M585</REF>
        <LIBELLE>Mail Test 2</LIBELLE>
    </MAILING>
</DOCUMENT>

但我想要这样的东西:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DOCUMENTS>
    <DOCUMENT>
        <MAILING>
            <REF>M584</REF>
            <LIBELLE>Mail Test 1</LIBELLE>
        </MAILING>
    </DOCUMENT>
    <DOCUMENT>
        <MAILING>
            <REF>M585</REF>
            <LIBELLE>Mail Test 2</LIBELLE>
        </MAILING>
    </DOCUMENT>
</DOCUMENTS>

但我可能有很多XML。所以我不认为Unmarshaller是最好的解决方案

感谢您的阅读

1 个答案:

答案 0 :(得分:1)

如果我正确提醒,您需要创建一个Documents330Xml类,可以编组(您可以查看Document330Xml类以供参考)。此类需要Document330Xml列表作为字段。

如果您随后编组Documents330Xml类,则应获得所需的XML。