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