相关疑难解决方法(0)

适用于Java的最佳XML解析器

我需要阅读较小的(最多几个MB,UTF-8编码的)XML文件,浏览各种元素和属性,或许修改一些并将XML再次写回磁盘(最好使用漂亮的缩进格式) .

什么是最符合我需求的XML解析器?有很多可供选择.我知道的有些是:

当然是JDK中的那个(我使用的是Java 6).我对Xerces很熟悉,但发现它很笨重.

建议?

java xml parsing

383
推荐指数
4
解决办法
31万
查看次数

什么时候应该选择SAX而不是StAX?

流式xml解析器(如SAX和StAX)比构建像DOM解析器这样的树结构的解析器更快,内存效率更高.SAX是一个推送解析器,意味着它是观察者模式的一个实例(也称为监听器模式).SAX首先存在,但随后出现了StAX - 一个拉解析器,意味着它基本上像迭代器一样工作.

你可以找到为什么在任何地方都喜欢StAX而不是SAX的原因,但它通常归结为:"它更容易使用".

在关于JAXP的Java教程中,StAX被模糊地呈现为DOM和SAX之间的中间:"它比SAX更容易,并且比DOM更高效".但是,我从来没有发现任何线索,StAX比SAX更慢或内存效率更低.

这一切让我想知道:有没有理由选择SAX而不是StAX?

java xml stax sax xml-parsing

79
推荐指数
3
解决办法
4万
查看次数

标签 统计

java ×2

xml ×2

parsing ×1

sax ×1

stax ×1

xml-parsing ×1