sax解析xml

xml java应用(DOM、SAX、JDOM、DOM4j)简介比较

北城余情 提交于 2019-11-27 06:18:30
dom是解析xml的底层接口之一(另一种是sax) 而jdom和dom4j则是基于底层api的更高级封装 dom是通用的,而jdom和dom4j则是面向java语言的 DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像 SAX 那样是一次性的处理。DOM 使用起来也要简单得多。 XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较 (转自zsq) 1、DOM DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。 首先,由于树在内存中是持久的

四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

喜你入骨 提交于 2019-11-27 06:18:02
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都 自带 了,在xml-apis.jar包里 SAX: http://sourceforge.net/projects/sax/ JDOM: http://jdom.org/downloads/index.html DOM4J: http://sourceforge.net/projects/dom4j/ 一、介绍及优缺点分析 1. DOM (Document Object Model) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。 【优点】 ①允许应用程序对数据和结构做出更改。 ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。 【缺点】 ①通常需要加载整个XML文档来构造层次结构,消耗资源大。 2. SAX(Simple API for XML) SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且

XML文件解析

柔情痞子 提交于 2019-11-27 04:19:01
JAVA 解析XML的四种方法比较 JAVA解析XML的四种方法比较 XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transformations), XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。假设我们XML的内容和结构如下: view plaincopy to clipboardprint? <?xml version=”1.0″ encoding=”UTF-8″?> <employees> <employee> <name>ddviplinux</name> <sex>m</sex> <age>30</age> </employee> </employees> <?xml version=”1.0″

Java SAX解析

六月ゝ 毕业季﹏ 提交于 2019-11-26 19:41:05
sax解析 一行一行的解析,针对数据量较大的 dom解析 将整个数据加载,针对数据较小的 sax步骤 1、获得解析工厂 SAXParserFactory 2、工厂获取解析器 SAXParser 3、加载文档Document注册处理器 1、首先写一个xml person.xml <?xml version="1.0" encoding="UTF-8"?> <persons> <person> <name>至尊宝</name> <age>90000</age> </person> <person> <name>紫霞</name> <age>10000</age> </person> </persons> 2、Persond类(准备) Persond.java package xml; /* * sax解析 一行一行的解析,针对数据量较大的 * dom解析 将整个数据加载,针对数据较小的 * * sax步骤 * 1、获得解析工厂 SAXParserFactory * 2、工厂获取解析器 SAXParser * 3、加载文档Document注册处理器 */ public class Persond { private String name; private int age; public Persond() { } public Persond(String name, int age)