我目前正在开发一个 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。