其他分享
首页 > 其他分享> > 解析XML数据

解析XML数据

作者:互联网

在Java程序中读取XML文件的过程称为解析XML

 

1.解析XML文件的方式
1)DOM解析(java官方提供)
2)SAX解析(java官方提供)
3) JDOM解析(第三方提供)
4) DOM4J解析(第三方提供)

 

2.DOM解析XML的步骤
1)创建一个DocumentBuilderFactory的对象
2)创建一个DocumentBuilder对象
3)通过DocumentBuilder的parse(..)方法得到Document对象
4)通过getElementsByTagNam...)方法获取到节点的列表
5)通过for循环遍历每一个节点
6)得到每个节点的属性和属性值
7)得到每个节点的节点名和节点值

代码示例:

 

 

 

3.SAX解析方式

3.1SAX的概述
SAX,全称Simple API for XML,是一种以事件驱动的XMl API,SAX与DOM不同的是它边扫描边解析,自顶向下
依次解析,由于边扫描边解析,所以它解析XML具有速度快,占用内存少的优点

3.2SAX解析XML的步骤
1)创建SAXParserFactory的对象
2)创建SAXParser对象(解析器)
3)创建一个DefaultHandler的子类
4)调用parse方法

代码示例:

Book Default Handler类:

 

 

 

 

TestSAXPrase类:

 

 

 

 

 

XML文件:

 

 

 

 

 

 

 

输出结果:

 

 

 

 

 

 

 4.JDOM方式解析XML文件:

4.1JDOM概述
JDOM是一种解析XML的Java工具包,它基于树型结构,利用纯Java的技术对XML文档实现解析。所以中适合于Java语言

 

4.2JDOM解析XML的步骤
1)创建一个SAXBuilder对象
2)调用build方法,得到Document对象(通过IO流)
3)获取根节点
4)获取根节点节点的直接子节点的集合
5)遍历集合

 

5.DOM4J解析XML数据(最常用)

DOM4J是一个Java的XML API,是JDOM的升级品,用来读写XML文件的

 

 

 DOM4J解析XML的步骤

1)创建SAXReader对象
2)调用read方法
3)获取根元素
4)通过迭代器遍历直接节点

代码示例:

 

 

 

 

 

 

 

 

四种方法的比较:

 

 

1)DOM解析:
形成了树结构,有助于更好的理解、掌握,且代码容易编写。
解析过程中,树结构保存在内存中,方便修改。但是需要内存较大
2)SAX解析:
采用事件驱动模式,对内存耗费比较小。
适用于只处理XML文件中的数据时
3)JDOM解析:
仅使用具体类,而不使用接口。
API大量使用了Collections 类。

 

 

4)DOM4J解析:
JDOM的--种智能分支,它合并了许多超出基本XML文档表示的功能。
它使用接口和抽象基本类方法。
具有性能优异、灵活性好、功能强大和极端易用的特点。
是一个开放源码的文件

 

标签:XML,Java,JDOM,SAX,解析,数据,节点
来源: https://www.cnblogs.com/LuJunlong/p/12152900.html