繁体   English   中英

如何使用jaxb将XML数据添加到另一个数据并将其存储在单个文件中?

[英]How to add XML data to another and store them in a single file using jaxb?

我正在使用jaxb制作xml文件并将其存储在我的PC中,并且我希望在制作另一个文件时除了将第一个文件存储在与我PC相同的xml文件中之外,例如,这是第一个文件:

<File>
   <thing1>
   </thing1>
</file>

我希望第二个文件是这样的:

 <File>
       <thing1>
       </thing1>
       <thin2g>
       </thing2>
    </file>

这就是我用于封送处理的Java代码:

public ConfList(Object obj){
        this.obj = obj;
    }

    public void addToLXML() throws IOException, JAXBException {

        File file = new File(fileName);
        JAXBContext jaxbContext = JAXBContext.newInstance(Xml.class);
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

        jaxbMarshaller.marshal(obj, file);
        jaxbMarshaller.marshal(obj, System.out);

    }

如果我正确理解了您的问题,您是否希望能够向现有XML文件添加新元素? 因此,第一次创建文件时,将添加“ thing1”元素,而第二次运行程序时,将添加“ thing2”元素?

假设是这种情况,最好的方法是将现有文件解组到包含“事物”元素的带注释列表的对象中(假定它们是相同类型或共享一个公共的父类)。 然后,只需将新的“事物”添加到列表中,然后将其编组回文件即可。

如果这不能解决您的问题,请说明您要寻找的内容,我将为您提供帮助!

史蒂夫

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM