XML 和 Java 技术: XML 持久性的三种方式
2010-04-02 00:00:00 来源:WEB开发网所有这些常常会导致开发人员将 JAXB 放在一旁,或者大量学习 XML、SAX 和 DOM 方面的知识。这样一来,许多开发人员都会继续使用 SAX 和 DOM 实现持久性存储,而使用 JAXB 只是为实现其最简单的功能:在 XML 和 Java 对象之间相互转换。
另一种选择……
我特意将最后一种选择留给大家思考:将 XML 作为一系列比特、节点和字符串直接写入 FileOutputStream 或 FileWriter。毫无疑问,这种方法可以将 XML 写入文件,并且这种方法的采用也相当多;但是在本例中,持久化存储已有 XML 数据并没有从非 XML 格式的数据中创建 XML 那么频繁。您可以认出这种代码,它们通常类似于以下形式:
String xmlString = setupXMLBuffer(
new StringBuffer("<firstName>")
.append(customer.firstName)
.append("</firstName>")
.append("<lastName>")
.append(customer.lastName)
.append("</lastName>")
// etc...
.toString()
);
bufferedWriter.write(xmlString);
// other file I/O code
这段代码并没有任何错误;我们只是将数据持久化存储于 XML 中,所有操作都在一步之内完成。因此,关于如何持久化存储数据,以及哪种方式是最佳的,这些问题都无关紧要。写入数据并将其存入 XML 的操作是无法分开的,因此再多的讨论也无济于事。
结束语
我们应该如何处理 XML 持久性存储呢?并没有完全正确的答案。也就是说,Java 和 XML 开发人员都需要经过仔细讨论才能做出选择。您趋向于使用一致的方法解决通用问题吗?有没有一种持久性存储方法可以在磁盘上生成易于读取、使用并能发送给其他应用程序的 XML 文档呢?
对于大多数技巧,我的观点是人们应该重点关注这些技巧是否能够真正奏效。如果您发现某个技巧更适用于其他人,那么您应该能够提高自己的编程技巧 — 至少,这是基本思想!因此,请花几分钟逛逛 developerWorks 网站的 Java 和 XML 论坛,并让我们知道您所使用的持久性存储方法。如果需要基于一些特定的功能,也请告诉我们。我希望能在论坛中见到您的身影。
更多精彩
赞助商链接