我没有看到任何实现接口org.w3c.dom.Document的方法的类。那么为什么我们(通常)可以调用这个接口的getDocumentElement方法来获取根元素呢?
发布于 2011-06-14 12:10:51
org.w3c.dom.Document
是XML规范的一部分,可以由许多不同的库实现。如果您想知道具体使用了哪种实现,请尝试
org.w3c.dom.Document doc = <your instance>;
System.out.println(doc.getClass().getName());
在调用它的方法的同一位置。这将告诉您将具有这些方法的实现类的名称(或者它的超类将会)。
发布于 2011-06-14 12:33:25
JAXP包及其类是Java API for XML Processing ( org.w3c.dom
)的一部分。现在需要为DOM Level 2 Core API提供Java语言绑定。
语言绑定的存在只是为了提供可由各种DOM解析器实现的接口。毕竟,不同的解析器将使用不同的技术来维护表示DOM的内部数据结构。符合DOM Core API的多个JAXP解析器可以共存于JVM可用的库中。在运行时,其中只有一个将用于解析XML文档。
一旦实现JAXP的合适的DOM解析器读取了XML文档的内容并填充了它的内部结构,您就可以调用该方法,从而使document类的实例可供您使用。换句话说,在解析XML文档之后,DOM解析器负责为您提供document对象的实例。
发布于 2011-06-14 12:47:13
已知的实现中很少有Xerces和JDom
https://stackoverflow.com/questions/6338927
复制相似问题