簡體   English   中英

使用XMLStreamWriter附加到XML

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM