2011-07-21 44 views
3

就像一個例子,讓我說我有一個customerX.xml文件,我已經使用JAXB(或XStream)解組。如何使用JAXB(或XStream)在不寫整個文件的情況下更新XML文件

我更新這個客戶的電話號碼在我的Java對象,然後當元帥的內容回到同一customerX.xml

Here's XML更新的舊JAXB例如,從2003..There可能是一個更好儘管如此。

問題

將編組寫入該文件的所有內容,但我只是更新單個元素?如果是的話,那麼是否有更好的方法來使用JAXB或XStream編組和更新XML文件的特定元素?

如何使編組操作線程安全,以防多個線程可能編組到相同的XML文件?

回答

6

將編組寫入文件的所有內容,但我只是更新單個元素?

是的。編組人不知道或關心你改變了多少,所關心的是編組時的對象狀態。

有沒有更好的方法來使用JAXB或XStream編組和更新XML文件的特定元素?

不是。如果您需要更新數據片段,那麼數據確實應該作爲單獨的文件存儲,而不是作爲一個大文件存儲。

如何使編組操作線程安全,以防多個線程可能編組到相同的XML文件?

使用常規的Java線程同步技術(即使用​​方法或使用java.util.concurrent中的鎖定工具)。

相關問題