Java教程是针对JDK 8编写的。本页中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言特性的摘要,请参阅Java语言变更。
有关所有JDK版本的新功能、增强功能和已删除或已弃用选项的信息,请参阅JDK发行说明。
下图 展示了DOM API的使用。
你可以使用javax.xml.parsers.DocumentBuilderFactory类获取一个DocumentBuilder实例,并使用该实例生成符合DOM规范的Document对象。实际上,你获取的构建器是由系统属性javax.xml.parsers.DocumentBuilderFactory确定的,该属性选择用于生成构建器的工厂实现。(可以从命令行覆盖平台的默认值。)
你还可以使用DocumentBuilder的newDocument()方法创建一个实现了org.w3c.dom.Document接口的空Document。或者,你可以使用构建器的解析方法之一从现有的XML数据创建一个Document。其结果是一个类似上图所示的DOM树。
注意 -虽然它们被称为对象,但DOM树中的条目实际上是相当底层的数据结构。例如,考虑这个结构:<color>blue</color>。有一个颜色标签的元素节点,而在其下有一个包含数据的文本节点,蓝色!这个问题将在本教程的DOM课程中详细探讨,但是那些期望得到对象的开发人员通常会惊讶地发现在元素节点上调用getNodeValue()返回的是空值。如果要获得真正面向对象的树结构,请参阅JDOM API,网址为:http://www.jdom.org。
文档对象模型实现在以下列出的包中定义,如下图所示:表 。
表 DOM包
包 |
描述 |
---|---|
org.w3c.dom |
为XML(和可选的HTML)文档定义了W3C指定的DOM编程接口。 |
javax.xml.parsers |
定义了DocumentBuilderFactory类和DocumentBuilder类,后者返回实现W3C Document接口的对象。用于创建构建器的工厂由javax.xml.parsers系统属性确定,该属性可以从命令行设置或在调用newInstance方法时覆盖。此包还定义了用于报告错误的ParserConfigurationException类。 |