Closed. This question is opinion-based。它当前不接受答案。












想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

5年前关闭。



Improve this question





我正在使用Apache Tomcat开发RSS供稿聚合器。我想知道使用哪个解析器来读取RSS feed。我应该使用DOM,SAX还是StAX?我知道有一些特定的库可以读取Java的RSS feed,但是由于这是一个大学项目,所以我不应该使用这些库。
谢谢。

最佳答案

这主要取决于您的需求。每个都有自己的功能。

DOM-将整个内容拉入内存并在内存中四处走动。适合用于处理复杂事物的较小的XML块。 XSLT使用DOM。

SAX-在XML到达时走动,以观察它们飞过的事物。适用于大量数据或相对简单的处理。

StAX-与SAX非常相似,但是您不对流中发现的事件做出响应,而是通过xml进行迭代-请参见When should I choose SAX over StAX?来讨论哪种方法最好。

Parsing XML using DOM, SAX and StAX Parser in Java-Mohamed Sanaulla进行了精彩的讨论。注意:他的SAX解析器有一个问题-他应该附加字符,而不是替换字符,因为字符数据是累积的并且可能成块到达。

  content = String.copyValueOf(ch, start, length);


应该

  content += String.copyValueOf(ch, start, length);


也是Kaan Yamanyar Differences between DOM, SAX or StAX的博客文章。

关于java - DOM,SAX和StAX XML解析器之间有什么区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57333193/

10-10 16:33