为什么我们可以调用org.w3c.dom.Document接口的方法?

时间:2011-06-14 04:03:12

标签: java xml

我没有看到任何实现接口org.w3c.dom.Document方法的类。那么为什么我们(通常)可以调用此接口的getDocumentElement方法来获取根元素?

3 个答案:

答案 0 :(得分:3)

org.w3c.dom.Document是XML规范的一部分,可以由许多不同的库实现。如果您想知道使用了哪个确切的实现,请尝试

org.w3c.dom.Document doc = <your instance>;   
System.out.println(doc.getClass().getName());

在你调用方法的同一个地方。这将告诉你实现具有这些方法(或其超类)的类的名称。

答案 1 :(得分:0)

org.w3c.dom包及其类是Java API for XML Processing(JAXP)的一部分。它的存在是为DOM Level 2 Core API提供Java语言绑定。

语言绑定仅用于提供可由各种DOM解析器实现的接口。毕竟,不同的解析器将使用不同的技术来维护代表DOM的内部数据结构。符合DOM Core API的多个JAXP解析器可以共存于JVM可用的库中。在运行时,只有其中一个用于解析XML文档。

一旦一个合适的实现JAXP的DOM解析器读取了XML文档的内容,并且已经填充了它的内部结构,就可以调用该方法,以使您可以使用Document类的实例。换句话说,在解析XML文档之后,DOM解析器负责为您提供Document对象的实例。

答案 2 :(得分:0)

很少有已知的实现是Xerces和JDom