`
xiaoyuclub
  • 浏览: 19375 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

dom4j基于sax事件处理

XML 
阅读更多
package com.px.dom4j;

import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.ElementHandler;
import org.dom4j.ElementPath;
import org.dom4j.io.SAXReader;

public class ElementHandlerTest implements ElementHandler{

	@Override
	public void onEnd(ElementPath arg0) {
		Element elt=arg0.getCurrent();
		Element name=elt.element("name");
		Element age=elt.element("age");
		String s1=name.getText();
		String s2=age.getText();
		System.out.print("<"+name.getQualifiedName()+">");
		System.out.print(s1);
		System.out.println("</"+name.getQualifiedName()+">");
		System.out.print("<"+age.getQualifiedName()+">");
		System.out.print(s2);
		System.out.println("</"+age.getQualifiedName()+">");
	}

	@Override
	public void onStart(ElementPath arg0) {
		
	Element stu=arg0.getCurrent();
	List list=stu.attributes();
	Iterator<Attribute> it=list.iterator();
	while(it.hasNext()){
		Attribute att=it.next();
		String val1=att.getName();
		String val2=att.getText();
		System.out.println(val1+"=\""+val2+"\"");
	}
		
	}
	public static void main(String[] args) {
		SAXReader sr=new SAXReader();
		try {
			sr.addHandler("/students/student", new ElementHandlerTest());
			Document doc=sr.read("students.xml");			
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	
	
	

}
出现的效果:
sn="01"
<name>张三</name>
<age>18</age>
sn="02"
<name>李四</name>
<age>20</age>
分享到:
评论

相关推荐

    dom4j下sax解析xml

    总结起来,dom4j库提供了DOM和SAX两种XML解析方式,而SAX解析在处理大文件时具有性能优势。通过注册事件处理器,开发者可以在解析过程中动态响应XML结构,实现灵活的数据处理。在实际工作中,选择合适的解析方法取决...

    dom+dom4J+SAX 解析

    在“testPaseXML”这个项目中,你可以找到这些解析方法的具体实现,包括如何使用DOM创建和解析XML,如何利用DOM4J进行更高效的处理,以及如何运用SAX解析大文件。通过学习和实践这些示例,你可以更好地理解XML处理的...

    dom4j基于事件流解析大XML的文件 示例

    而DOM4J提供了一种基于事件流的解析方式,即SAX解析器,可以有效地解决这个问题。 **DOM4J解析XML的优势:** 1. **灵活性**:DOM4J提供了丰富的接口和方法,支持XPath查询,可以方便地进行XML结构的操作。 2. **...

    DOM4J_SAX_DOM_XML的实例

    DOM4J、SAX和DOM是处理XML文档的三种主要解析器或API,它们各有特点,适用于不同的场景。 1. DOM(Document Object Model) DOM是一种将XML文档转换为内存中的树形结构的模型,它允许开发者通过节点层次结构来访问...

    生成、解析xml的四种方式(dom,dom4j,sax,jdom)

    本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...

    dom,dom4j,sax 解析xml文件实例

    总的来说,DOM适合小规模且频繁操作的XML,DOM4J提供了更高级的特性,如XPath查询,而SAX适用于处理大文件,节省内存。在实际应用中,根据项目需求选择合适的解析方式至关重要。通过学习这些实例,你将能更好地理解...

    XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较,超详细

    常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和开发效率有很大影响。 1. DOM 解析器 DOM(Document Object Model)是 W3C 官方标准,用于表示...

    java操作xml dom dom4j sax jdom

    以上四种方式各有优缺点,DOM适合小文件并要求快速访问任何部分,SAX适合大文件但需要实时处理,DOM4J和JDOM提供了更友好的API但可能消耗更多资源。在实际开发中,应根据项目需求选择合适的方法。在提供的"testxml...

    dom4j基础入门文档(SAX,DOM,XPATH)

    【dom4j基础入门文档(SAX,DOM,XPATH)】 dom4j是一个流行的Java库,专门用于处理XML文档。相较于W3C DOM API,dom4j的优势在于它内置了本地XPath支持,使得XML文档的查询和操作更为简便。本文将深入介绍dom4j的...

    XML解析的四种方法源码(DOM, JDOM ,DOM4J , SAX)

    在Java中,解析XML文件是常见的任务,通常有四种主要的方法:DOM (Document Object Model),JDOM,DOM4J以及SAX (Simple API for XML)。以下是对这四种XML解析方式的详细介绍: 1. DOM解析: DOM是一种树形结构的...

    dom,dom4j,sax对xml进行解析

    DOM4J是Java的一个开源库,它是基于DOM的,但是提供了更高级别的API和一些额外的功能,如XPath支持和XML Schema处理。DOM4J简化了DOM的使用,使得开发者能更轻松地处理XML。与标准DOM相比,DOM4J在性能和灵活性上...

    dom4j所依赖的所有jar包

    4. **事件处理**:DOM4J支持SAX事件处理,可以在解析过程中对XML事件进行响应,如开始元素、结束元素等。 5. **转换和序列化**:DOM4J可以将XML文档转换为其他格式,如HTML、DOM或流,也可以将Java对象序列化为XML...

    dom jdom sax dom4j 原理性能比

    本篇文章将探讨四种处理XML的Java库:DOM、JDOM、SAX和DOM4J,分析它们的原理、性能特点以及适用场景。 首先,我们来了解DOM(Document Object Model)。DOM是W3C组织定义的一种API,它将XML文档解析为一个树形结构...

    一写小例子,dom4J,dom,jdom,sax解析和创建XML文件,代码虽然简单,但是功能实现,适合入门

    本文将详细介绍四种主流的Java XML处理库:DOM4J、DOM、JDOM和SAX,并通过简单的代码示例帮助初学者入门。 1. DOM (Document Object Model) DOM是W3C制定的一种标准,它将XML文档视为一个树形结构,允许开发者通过...

    dom4j_dom4j1.6.1安装包_

    首先,DOM4J是一个基于Java的XML处理库,它支持多种XML处理模型,如SAX和DOM。DOM4J的核心特性包括XML文档的构建、解析、查询和修改。它还提供了XPath支持,允许开发者通过简洁的表达式来定位XML文档中的元素。 DOM...

    dom4j-1.6.1 与 dom4j-2.0.0-ALPHA

    它支持SAX和DOM解析器,同时提供了基于事件的解析模型和基于树的解析模型。此版本的主要特性包括: 1. 支持XPath:DOM4J提供了一种强大的方式来查询XML文档,通过XPath表达式可以轻松地找到需要的数据。 2. 文档...

    所有版本的dom4j工具包

    3. **事件驱动模型**:除了DOM和SAX,DOM4J还支持基于事件的处理模型,适用于处理大型XML文档,可以避免一次性加载整个文档导致的内存消耗。 4. **XPath和XSLT转换**:DOM4J不仅能够执行XPath查询,还可以结合JAXP...

    dom4j_1.6.1.jar dom4j_2.1.0.jar

    它不仅支持W3C的DOM API,还提供了基于事件的SAX和直接的DOM接口。 2. **核心概念**:主要包括Document(文档对象)、Element(元素)、Attribute(属性)、Text(文本)、Namespace(命名空间)等,这些构成了XML...

    XML 文件解析 DOM DOM4j JDOM SAX 和相对路径的写法 ,代码是有注释的

    本教程将详细介绍四种主要的XML解析方式:DOM、DOM4j、JDOM和SAX,以及如何在Java中处理XML文件的相对路径。 1. DOM(Document Object Model) DOM是W3C推荐的一种解析XML的标准,它将XML文档转化为一个树形结构,...

    dom4j dom4j1.6 dom4j最新版

    4. **事件驱动模型**:与SAX解析器配合,DOM4J提供了一个基于事件的处理模型,可以在解析过程中对特定事件作出反应,如元素开始、结束等。 5. **转换和序列化**:DOM4J可以将XML文档转换为其他格式,如HTML或者DOM,...

Global site tag (gtag.js) - Google Analytics