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