0

我正在使用 jaxb 制作 xml 文件并将其存储在我的电脑中,并且我希望在制作另一个文件时将其存储在我电脑上同一个 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);

    }
4

1 回答 1

1

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

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

如果这没有解决您的问题,请澄清您在寻找什么,我会看看我能做些什么来提供帮助!

史蒂夫

于 2013-05-30T02:03:50.020 回答