详解Java解析XML的四种方法
2013-02-25 20:23
483 查看
文章来源:http://developer.51cto.com/art/200903/117512.htm
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transformations),具体可参阅w3c官方网站文档http://www.w3.org获取更多信息。
XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。假设我们XML的内容和结构如下:<?xml version="1.0" encoding="UTF-8"?>
Java代码
![](http://backbone5.iteye.com/images/icon_copy.gif)
![](http://backbone5.iteye.com/images/icon_star.png)
![](http://backbone5.iteye.com/images/spinner.gif)
<employees> <employee> <name>ddviplinux</name> <sex>m</sex> <age>30</age> </employee> </employees>
本文使用JAVA语言来实现DOM与SAX的XML文档生成与解析。
首先定义一个操作XML文档的接口XmlDocument 它定义了XML文档的建立与解析的接口。
Java代码
![](http://backbone5.iteye.com/images/icon_copy.gif)
![](http://backbone5.iteye.com/images/icon_star.png)
![](http://backbone5.iteye.com/images/spinner.gif)
package com.alisoft.facepay.framework.bean;
/**
*
* @author hongliang.dinghl
* 定义XML文档建立与解析的接口
*/
public interface XmlDocument {
/**
* 建立XML文档
* @param fileName 文件全路径名称
*/
public void createXml(String fileName);
/**
* 解析XML文档
* @param fileName 文件全路径名称
*/
public void parserXml(String fileName);
}
1.DOM生成和解析XML文档
为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transformations),具体可参阅w3c官方网站文档http://www.w3.org获取更多信息。
XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。假设我们XML的内容和结构如下:<?xml version="1.0" encoding="UTF-8"?>
Java代码
![](http://backbone5.iteye.com/images/icon_copy.gif)
![](http://backbone5.iteye.com/images/icon_star.png)
![](http://backbone5.iteye.com/images/spinner.gif)
<employees> <employee> <name>ddviplinux</name> <sex>m</sex> <age>30</age> </employee> </employees>
<employees> <employee> <name>ddviplinux</name> <sex>m</sex> <age>30</age> </employee> </employees>
本文使用JAVA语言来实现DOM与SAX的XML文档生成与解析。
首先定义一个操作XML文档的接口XmlDocument 它定义了XML文档的建立与解析的接口。
Java代码
![](http://backbone5.iteye.com/images/icon_copy.gif)
![](http://backbone5.iteye.com/images/icon_star.png)
![](http://backbone5.iteye.com/images/spinner.gif)
package com.alisoft.facepay.framework.bean;
/**
*
* @author hongliang.dinghl
* 定义XML文档建立与解析的接口
*/
public interface XmlDocument {
/**
* 建立XML文档
* @param fileName 文件全路径名称
*/
public void createXml(String fileName);
/**
* 解析XML文档
* @param fileName 文件全路径名称
*/
public void parserXml(String fileName);
}
package com.alisoft.facepay.framework.bean; /** * * @author hongliang.dinghl * 定义XML文档建立与解析的接口 */ public interface XmlDocument { /** * 建立XML文档 * @param fileName 文件全路径名称 */ public void createXml(String fileName); /** * 解析XML文档 * @param fileName 文件全路径名称 */ public void parserXml(String fileName); }
1.DOM生成和解析XML文档
为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。
相关文章推荐
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- Java中四种生成和解析XML文档的方法详解
- 详解Java解析XML的四种方法【转载】
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法
- 详解Java解析XML的四种方法(转载)