在Java中读取XML的最佳方法

Rom*_*ani 10 java xml

从我们的一些其他应用程序,我得到XML文件.

我希望逐节点地读取该XML文件,并将数据库中的节点值存储起来以供进一步使用.

那么,使用Java读取XML文件和检索节点值的最佳方法/ API是什么?

Aar*_*lla 7

有各种各样的工具.今天,我更喜欢两个:

这是Simple和JAXB之间的一个很好的比较:http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html

就个人而言,我更喜欢Simple更好,因为Niall的支持非常好,但是JAXB(如上面的博客文章中所解释的)可以用更少的代码产生更好的输出.

StAX是一个更基本的API,它允许您读取不适合RAM的XML文档(Simple和JAXB都不允许您"逐个对象"读取XML文档 - 它们总是会尝试一次性将所有内容加载到RAM中).


And*_*s_D 1

dom4jjdom非常容易使用(暂时忽略“最佳”要求;))

  • 请注意,JDOM 已经死了,甚至不使用 Java 5(泛型)来避免大量转换。 (3认同)
  • JDOM死了吗?我不知道这个。一直在使用它,但大约一年左右就不再使用它,因为我正在寻找更高效的内存解决方案。说到这里,我总是建议不要使用任何类似 DOM 的解决方案,除非您确实需要内存中的整个 XML 树。 (2认同)