簡體   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