[英]Appending to XML with XMLStreamWriter
基本上,應用程序將Collection的內容寫入XML。 我為此使用XMLStreamWriter( XMLOutputFactory.newInstance().createXMLStreamWriter(...)
)。
除了無法獲取將數據附加到現有文件的事實外,它的工作效果非常好。 不太喜歡先讀取所有內容,將數據附加到內存中然后進行覆蓋的想法。 還是唯一的方法?
簡單地附加到XML文件將導致XML格式錯誤。 您應該構建DOM並附加所需的新元素。
如果要添加頂級元素,則可能可以擺脫想要做的事情。 例如,如果您有此文件:
<some_element>
<nested_element>
...
</nested_element>
</some_element>
您很可能可以通過附加另一個some_element
元素來避免some_element
。
但是,如果有一個外部級別的元素,顯然很麻煩,並且必須附加一個內部級別的元素。 例如,假設您要向此文件添加some_element
元素:
<data>
<some_element>
<nested_element>
...
</nested_element>
</some_element>
</data>
通常,最好重新分析文檔,然后重新編寫文檔。 如果很小,請使用基於DOM的解析器; 更容易。 如果文件很大,請使用基於SAX的文件。
另一種方法是構建一個新的XML文件,然后通過XSLT轉換將其與上一個合並。 要應用XSLT樣式表,您應該使用Java XML Transformation API 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.