Java解析XML文件的方式

7

8

9 FrameWork

10 20

11 new book

12

13

整个xml文件是一个文档(document),其中第1行表示文件头,在第2和第13行里,我们能看到配套出现的books标签,从标签头到标签尾的部分那我们称之为元素(element)。

所以我们可以这样说,在books元素里,我们分别于第3到第7行和第8到第12行定义了2个book元素,在每个book元素,比如从第4到第6行,又包含着3个元素,比如第一本书的name元素是Java,它的name元素值是Java。

在第3行里,我们还能看到元素里的属性(attribute),比如这个book元素具有id这个属性,具体id的属性值是01。

2 基于DOM树的解析方式

DOM是Document Object Model(文档对象模型)的缩写,在基于DOM树的解析方式里,解析代码会先把xml文档读到内存里,并整理成DOM树的形式,随后再读取。根据之前部分里给出的book.xml文档,我们可以绘制出如下形式的DOM树。

其中,books属于根(root)结点,也叫根元素,由于它包含着两个book元素,所以第二层是两个book结点,每个book元素包含着3个元素,所以第三层是6个元素。在下面的ParserXmlByDom.java的代码里,我们来看下通过DOM树方式解析book.xml文档的详细步骤。

1 //省略import相关类库的代码

2 public class ParserXmlByDom {

3 public static void main(String[] args) {

4 //创建DOM工厂

5 DocumentBuilderFactory domFactory=DocumentBuilderFactory.newInstance();

6 InputStream input = null;

7 try {

8 //通过DOM工厂获得DOM解析器

9 DocumentBuilder domBuilder=domFactory.newDocumentBuilder();

10 //把XML文档转化为输入流

11 input=new FileInputStream(“src/book.xml”);

12 //解析XML文档的输入流,得到一个Document

13 Document doc=domBuilder.parse(input);

从第5行到第13行,我们完成了用DOM树解析XML文件的准备工作,具体包括,在第5行里创建了DOM工

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值