`

SAX解析xml例子

    博客分类:
  • Java
XML 
阅读更多

 

import java.io.File;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;


public class Test1{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String fileUri = "D:\\file\\test2.tmx";
		TestHandler handler = new TestHandler();
		
		SAXParserFactory spf = SAXParserFactory.newInstance();
		try {
			SAXParser sp = spf.newSAXParser();
			sp.parse(new File(fileUri), handler); //执行解析
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

 写一个类继承 DfaultHandler ,重写相关方法(startDocument,endDocument,startElement,endElement,characters)

 

 

 

 

下面为 XXXHandler 的代码

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class TestHandler extends DefaultHandler {

	private String tagValue;	//标签值
	
	//解析资源
	@Override
	public void startDocument() throws SAXException{
		System.out.println("开始解析");
	}
	
	@Override
	public void endDocument() throws SAXException{
		System.out.println("结束解析");
	}
	
	//解析元素
	/**
	 * 开始解析一个元素
	 * @param qName	标签名
	 * @param attributes 属性
	 */
	@Override
	public void startElement(String uri,String localName,String qName,Attributes attributes) throws SAXException{
		System.out.println(qName + "开始");
		//属性
		if (attributes!=null&&attributes.getLength()!=0){
			System.out.println("属性:");
			for (int i=0;i<attributes.getLength();i++){
				System.out.print(attributes.getQName(i)+"=");	//属性名
				System.out.print(attributes.getValue(i)+" ");	//属性值
			}
			System.out.println();
		}
	}
	/**
	 * 结束一个元素的解析
	 * 遇到结束标签时调用此方法
	 * 通常在此方法对标签取值并处理
	 */
	@Override
	public void endElement(String uri, String localName,String qName) throws SAXException{
		System.out.println(qName + "标签值:" + tagValue);
		System.out.println(qName + "结束");
	}
	
	//所有xml文件中的字符都会放到ch[]中
	public void characters(char ch[],int start,int length) throws SAXException{
		tagValue=new String(ch,start,length).trim();
	}
}
分享到:
评论

相关推荐

    SAX解析XML例子

    下面我们将深入探讨SAX解析XML的基本原理和使用方法。 首先,我们需要引入SAX解析器的API。在Java中,这通常通过`javax.xml.parsers.SAXParserFactory`和`org.xml.sax.XMLReader`实现。以下是一个简单的SAX解析XML...

    SAX解析XML文件实例

    SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...

    android 使用Sax解析XML 源码实例

    下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...

    java解析xml数据---sax解析器

    以下是使用SAX解析XML的基本步骤: 1. 创建一个实现DefaultHandler或ContentHandler接口的类,重写其中的方法,如startElement()、endElement()和characters(),用于处理XML文档的结构和数据。 2. 实例化SAX解析器...

    Sax解析xml及例子

    以下是一个简单的SAX解析XML的例子: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SaxExample extends DefaultHandler {...

    SAX解析超大XML文件 示例代码

    最后,使用`saxParser.parse()`方法解析XML文件并传递我们的处理器。 在实际应用中,根据需求,你可能需要在处理器方法内进行更复杂的数据处理,例如存储数据、计算或验证。SAX解析器允许你在不消耗大量内存的情况...

    Sax解析xml中的某个(一部分报文节点)循环组的内容

    本篇文章将详细探讨如何使用SAX解析XML中的特定循环组内容。 首先,了解SAX解析的基本原理。SAX解析器在读取XML文件时,会触发一系列事件,如开始文档、开始元素、字符数据、结束元素等。开发者通过实现SAX解析器的...

    SAX对xml文档进行解析

    本文将深入探讨SAX解析XML文档的原理、优势和具体实现。 SAX解析器是一种基于事件驱动的解析模型,它读取XML文档,遇到每个元素、属性、文本等时,都会触发相应的事件回调函数。这种方式使得解析器不需要一次性加载...

    使用SAX解析XML文件个人总结

    ### 使用SAX解析XML文件详解 #### 一、XML与SAX简介 XML(Extensible Markup Language,可扩展标记语言)是一种用于标记电子文件使其具有结构性的标记语言,旨在克服HTML的一些不足,使得数据能够被不同系统间共享...

    anroid SAX解析xml文件及实例

    以下是对SAX解析XML在Android中的详细解释以及实例代码分析。 **一、SAX解析XML原理** 1. **事件驱动**:SAX解析器在读取XML文档时,会调用预先定义好的处理器接口(如`DefaultHandler`)中的方法,如`...

    android sax解析xml文件

    以下是一个简单的SAX解析XML文件的Android实例源码: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SaxExample extends ...

    java解析xml例子

    以下是一个简单的DOM解析XML的例子: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import ...

    Android应用源码之27.使用SAX解析XML-IT计算机-毕业设计.zip

    总之,这个源码项目提供了一个实践SAX解析XML的实例,它不仅涵盖了基本的解析流程,还涉及到了Android应用开发中的实际问题,如内存管理和性能优化。通过深入研究和理解这个例子,你将在XML处理和Android应用开发...

    DOM解析XML文件例子

    在这个例子中,我们将深入探讨如何使用DOM解析XML文件,以理解和掌握XML文档的结构,并进行数据提取、修改和创建。 首先,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有自描述性和...

    Java解析XML文档(二):sax读取xml文件导出excel

    这个例子展示了如何使用SAX解析XML,并利用Apache POI将数据写入Excel。实际项目中,你可能需要根据XML文档的具体结构和需求进行适当的调整。同时,为了优化性能,可以在处理XML事件时,避免不必要的数据复制和内存...

    解析XML文件例子

    以下是一些关于解析XML文件的知识点: 1. XML结构: - 根元素:XML文档必须有一个根元素,所有其他元素都包含在这个根元素内。 - 元素:XML中的基本单位,用尖括号 `&lt; &gt;` 包围,如 `&lt;book&gt;`。 - 属性:元素可以...

    webservice远程调用,返回数据生成xml文件,并通过SAX解析出来

    webservice远程调用,返回String数据并生成xml文件到本地工程,在通过SAX解析器把数据解析出来。这是webservice应用的一个简单的例子。根据该例子的思想,可以实现很多功能了。例如把client工程的sayHello方法改为...

    javaSAX方式解析xml文档

    Java SAX方式解析XML文档是一种高效的处理大型XML文件的方法,它基于事件驱动模型,不将整个XML文档加载到内存中,而是逐个处理XML元素。这种方式非常适合处理大文件,因为它节省了内存,但需要编写更多的代码来处理...

    sax方式解析XML文件

    给定的代码示例是一个使用SAX解析XML文件的Java程序。下面我们将分步解析这个过程: 1. **导入必要的包**:首先,我们需要导入SAX解析所需的类库,包括`javax.xml.parsers.*`、`org.xml.sax.*`、`org.xml.sax....

    sax课件 例子 sax课件 例子

    本课件主要围绕SAX解析XML的特点和使用方法展开,通过实例深入浅出地讲解如何利用SAX进行XML解析。"JDOM&SAX.ppt"可能是课程的PPT材料,其中可能包含了对比JDOM(另一种Java XML处理库)与SAX的优缺点,以及如何在...

Global site tag (gtag.js) - Google Analytics