JAXP,JDOM,DOM4J和XERCES有什么区别?

时间:2012-09-18 15:21:54

标签: java xml jdom jaxp

它们有什么区别?据说JAXP只是一个API规范,JDOM和DOM4J实现了它,是不是?所有这些都需要一个XML解析器,就像XERCES一样,是不是?   提前谢谢!

2 个答案:

答案 0 :(得分:12)

JAXP (JSR-206)

是一组用于Java XML解析器的标准API。它涵盖以下领域:

  • DOM(org.w3c.dom包)
  • SAX(org.xml.sax包)
  • StAX / JSR-173(java.xml.stream
  • XSLT(javax.xml.transform
  • XPath(javax.xml.xpath
  • 验证(javax.xml.validation
  • 数据类型(javax.xml.datatype

该标准由一个由许多公司和个人代表组成的专家组创建。作为标准,这意味着有多个实现(Xerces实现JAXP),它可以包含在JDK中。

<强>的Xerces

是一个开源Java XML解析器,提供符合JAXP标准的DOM和SAX实现。

JDOM和DOM4J

是开源Java XML解析器。

答案 1 :(得分:7)

你在比较苹果和汽车。

  • JAXP是一个现在与JDK捆绑在一起的API
  • JDOM是一个不同的API,但也是一个库
  • DOM4J也是一个不同的API和库

  • XERCES是一个用Java实现的XML解析器。 JDK中也捆绑了一个版本的XERCES。

您使用的API主要是个人偏好问题。我喜欢JDOM,部分原因是因为我习惯了它。类似地,有几种XML解析器的实现。如果您使用最新的JDK使用Java进行编程,则无需添加外部库即可使用JAXP。