[英]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.