我需要读取较小的XML文件(最多只有几MB, UTF-8编码),查找各种元素和属性,可能修改一些,并将XML再次写回磁盘(最好采用漂亮的缩进格式)。

最适合我的XML解析器是什么?有很多选择。我知道的有:

杰登 伍兹托克斯 XOM Dom4j VTD-XML 薛塞斯-J 深 红色

当然还有JDK中的那个(我用的是Java 6)。我熟悉Xerces,但觉得它很笨拙。

建议吗?


当前回答

Simple XML http://simple.sourceforge.net/非常容易(反)序列化对象。

其他回答

除了SAX和DOM之外,还可以使用XMLStreamReader进行STaX解析,XMLStreamReader是一个xml拉式解析器。

如果您不太关心性能,那么我是Apache Digester的忠实粉丝,因为它实际上允许您直接从XML映射到Java bean。

否则,您必须首先解析,然后构造对象。

Simple XML http://simple.sourceforge.net/非常容易(反)序列化对象。

我发现dom4j是处理XML的工具。尤其是和薛西斯相比。

我不建议这样做,因为您在应用程序中已经进行了大量的“思考”,但是使用XSLT可能比Java操作更好(从XSLT到字节码的编译可能更快)。