XML DOM解析器
DOM 解析器
DOM (Document Object Model,文档对象模型)是W3C制定的一套规范标准,规定了解析文档的接口,各种语言可以按照DOM规范去实现这些接口,给出文档的解析器。DOM规范中所指的文档相当广泛,包括XML文件和HTML文件。
接口只关心功能,不规定功能的具体实现,因此,在特定语言中使用DOM规范就需要定义DOM规范指定的接口,并给出实现这些接口的类的集合,这一过程称作语言绑定。
DOM文档节点
DOM解析器调用parse方法返回一个叫做Document对象,它是由实现了Node接口的实例组成的树状结构数据,这些实例称作Document对象中的节点。实际上Document接口也是Node接口的子接口。
DOM文档节点常用方法
short getNodeType()
- 返回一个表示节点类型的常量(Node接口规定的常量值),例如对于Element节点getNodeType()方法返回的值为:Node.ELEMENT_NODE
NodeList getChildNodes()
- 返回由当前节点的所有子节点组成的NodeList对象
Node getFirstChiild()
- 返回当前节点的第一个子节点
Node getLastChild()
- 返回当前节点的最后一个子节点
NodeList getTextContent()
- 返回当前节点及所有子孙节点中的文本内容
文档节点子孙关系
为了解析规范的XML文档,DOM规定了各种类型节点之间可以形成子孙关系
示例
XML文件(books.xml)
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book bookno="001">
<title>Java编程语言</title>
<author>atuer</author>
<price>80</price>
</book>
<book bookno="002">
<title>算法</title>
<author>高纳德</author>
<price>100</price>
</book>
</books>
XML对应实体类(Book.java)
package com.li.entity;
public class Book {
private String bookNo;