关于XML文档解析(DOM和SAX)

DOM解析方式是将整个XML文档以document形式构架在内存中,当XML文档很大时,可能会造成OOM(内存溢出).而SAX则是一行行的去解析的,速度很快.

DOM解析:

1,通过DocumentBuilderFactory创建DOM解析工厂;

2,由工厂获取DocumentBuilder解析器对象;

3,通过解析器将XML转换成Document对象

注:在对XML文档进行修改后,需要利用TransFormerFactory对其进行更新.

SAX解析:

1,通过SAXParserFactory创建SAX解析工厂;

2,由工厂获取SAXParser解析器对象;

3,通过解析器对象得到XMLReader读取器;

4,设置事件处理方式;

5,解析parse.

对比:

DOM解析方式可以增删改查,api上手容易;

SAX解析方式速度快,适合查询.

时间: 2024-12-19 16:56:00

关于XML文档解析(DOM和SAX)的相关文章

使用JAXP对XML文档进行DOM解析

一.XML解析方式分为两种:dom和sax dom:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式. sax:(Simple API for XML)不是官方标准,但它是XML社区事实上的标准,几乎所有的XML解析器都支持它. dom和sax解析方法的区别: dom:对文档CRUD(增删改查)比较方便,缺点:占用内存比较大(将xml文件全部读入内存). sax:占用内存较少,解析速度快(从上往下读一行解析一行).缺点:只适合读取,不适合CRU

xml文档解析

XML文档解主要分为四种解析方式,官方提供的两种分别是:DOM 和 SAX,第三方分别是:JDOM 和 DOM4j 测试用的xml文档: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <user> 3 <uname type="3">zhangsan</uname> 4 <uname type="2">王麻子</uname

安卓xml文档解析

2014-12-27   14:53:32 解析xml文档 用xml文档存储数据 1.获得文件的路径 1 File path = new File(Environment.getExternalStorageDirectory(), "persons.xml"); 2.建立文件输出流 1 FileInputStream fis = new FileInputStream(path); 3.获得xml文档解析器对象 1 XmlPullParser parser=Xml.newPullPa

jsoup -- xml文档解析

jsoup -- xml文档解析 修改 https://jsoup.org/cookbook/modifying-data/set-attributes https://jsoup.org/cookbook/modifying-data/set-html https://jsoup.org/cookbook/modifying-data/set-text 时间 2014-06-20 07:01:12  ITeye-博客 原文  http://zsjdxc251.iteye.com/blog/20

浅析如何将XML文档解析成java对象(待梳理)

User类 public class User implements Serializable { private static final long serialVersionUID = 7506854293380407436L; private Integer id; private String loginName; private String password; private Date createDate; private String username; public User(

Java学习总结(21)——XML文档解析:DOM解析,SAX解析

一.XML简介1.可扩展性标记语言(eXtensible Markup Language)2.XML用于描述数据3.应用场合:(1)持久化存储数据(2)数据交换(3)数据配置4.XML语法(1)文档类型:在编写XML文档时,需要先使用文档声明,声明XML文档的类型.最简单的声明语法:<?Xml version="1.0" ?>用encoding属性说明文档的字符编码:<?Xml version="1.0" encoding="GB2312

用dom4j对xml文档解析

package com.huowolf.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Doc

XML文档的DOM解析

xml的DOM解析: <?xml version="1.0" encoding="UTF-8"?> <books> <!--根节点--><!--这里的空白也算一个节点,所以books共有5个子节点--> <book id="book1" w="wwwww"> <name><a>AAAAAA</a>bookName1</name

javaweb学习总结十一(JAX对XML文档进行DOM解析)

一:将内存中写好的xml文件读取到硬盘上 二:DOM方式对xml文件进行增删改查 1:添加节点(默认是在最后的子节点后面添加) 1 @Test 2 // 向元素中添加节点<version>1.0</version> 3 public void test5() throws Exception { 4 Document doc = getDoc(); 5 Node node = doc.getElementsByTagName("book").item(0); 6