XML 和 Java 技术: XML 持久性的三种方式
2010-04-02 00:00:00 来源:WEB开发网使用 DOM 和 JDOM 之类的 API 将 XML 数据结构直接写入文件
使用 Transformation API for XML (TrAX) 和标识转换(identity transformation)持久化存储您的 XML
使用 JAXB 之类的较高级别的 API 处理持久化存储
直接使用 API
如果使用一个或多个 API 读取 XML,那么很明显的一个方法就是使用与之相同的 API 将 XML 写入文件。比如说,如果您使用 JDOM API 和一个 JDOM Document 对象操作 XML,那么可以编写以下代码:
XMLOutputter outputter = new XMLOutputter();
outputter.setFormat(Format.getPrettyFormat());
outputter.output(myDocument, new FileWriter("outputFile.xml"));
与此类似,在 DOM Level 3 中可以使用新的 Load 和 Save API:
DOMWriter writer = new org.apache.xml.serialize.XMLSerializer();
writer.setNewLine("\r\n");
writer.setEncoding("UTF-8");
writer.writeNode(new FileOutputStream(new File("outputFile.xml")), myDocument);
注意,使用新 DOM API 的方法多种多样,其中有一些具有较低的供应商独立性。上面的示例代码中含有一个特定于 Xerces 的类,但是其他方法不会像它一样与某个特定的供应商类紧密绑定在一起。从学习的角度来说,那些方法都不够直观,因此我保留了特定于供应商的代码。
优点
这种方法的优势是可以相当直接地与您的 API 进行交互,从而实现良好和全面的控制。您可以设置新行,您可以处理首行缩进,您可以控制输出文件的各个方面。此外,还可以尽可能拉近您与文件之间的距离;即没有包装器 API 也没有间接层,您可以直接编写 XML。如果您对 JDOM 和 DOM 比较熟悉,那么它们将是输出 XML 的不二选择。
更多精彩
赞助商链接