2

我目前正在开发一个 RSS 提要阅读器,我想知道哪个 XML 解析 API 最适合它。(请注意,我不是在寻找 Feed 解析器库——它只是研究 XML API 的起点)

我正在寻找 Java 平台上各种 XML 解析 API 的概要,重点关注以下标准:

  • 易于配置
    • 配置是否在单独的文件中?
    • 是否有合理的默认值?
  • 使用方便
    • 节点导航 - 到兄弟姐妹,到孩子,到父母。
    • 名称空间、属性、文本的访问/操作。
    • 类层次结构是经过深思熟虑的还是自然的?
  • 无效的 XML - 会发生什么(什么时候失败?),在以下情况下我可以做什么:
    • 遇到无效字符(在编码或 XML 规范中被禁止)
    • 树结构无效(例如,由于未转义的 HTML 标记)

以下是一些我认为有用但并不重要的信息:

  • 性能比较
  • 可用实现的列表

我目前正在考虑 JVM 上的任何 XML API。

  • 它可以是 Java 标准(DOM、SAX、StAX、JAXP),也可以是特定于实现的 API。
  • 它可以是 JVM 上任何语言的 API(Scala、Groovy、Jython、JRuby...)——只要确保它与标准 Java API 相比添加了一些东西。

我相信构建这个线程的一个好方法是每个答案只有一个 API。

4

2 回答 2

0

jaxp 不是一个实现,而是一个包装器/外观 api,您可以在其中插入多个解析器实现。所以你只剩下 sax、dom 和 stax。现在下面是两个很好的比较,你做数学:

http://techstop.abidshafiq.com/2010/02/java-xml-api-comparison/ http://java.sun.com/performance/reference/whitepapers/StAX-1_0.pdf

于 2010-07-13T21:11:53.280 回答
0

看这里,你会得到一把! http://www.xml.com/pub/rg/Java_Parsers

但是,我看到我的一些朋友在他们的项目中使用了这个。尽管 JAXP 被广泛使用,但这个看起来很有前途。

Apache Xerces 解析器版本 1.2.3 ( http://xerces.apache.org/xerces-j/ )

于 2010-07-14T22:18:32.107 回答