`

SAX解析XML文件示例

阅读更多
package cn.com.songjy.test.xml;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

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

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

public class SAXDemo {

	public SAXDemo() throws FileNotFoundException,
			ParserConfigurationException, SAXException, IOException {
		printQuestions("product.xml");
	}

	public static void main(String[] args) {
		try {
			new SAXDemo();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (ParserConfigurationException e) {
			e.printStackTrace();
		} catch (SAXException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public void printQuestions(String xmlfile)
			throws ParserConfigurationException, SAXException,
			FileNotFoundException, IOException {

		SAXParserFactory factory = SAXParserFactory.newInstance();
		SAXParser parser = factory.newSAXParser();

		parser.parse(new FileInputStream(xmlfile), new DefaultHandler() {

			private boolean isQuestions = false;

			public void startElement(String uri, String localName,
					String qName, Attributes attributes) throws SAXException {
				if (qName.equals("questions")) {
					isQuestions = true;
				}
			}

			public void characters(char[] ch, int start, int length)
					throws SAXException {
				if (isQuestions) {
					String str = new String(ch, start, length);

					System.out.println(str);

				}
			}

			public void endElement(String uri, String localName, String qName)
					throws SAXException {
				if (qName.equals("questions")) {
					isQuestions = false;
				}
			}

		});

	}
}


product.xml

<?xml version="1.0" encoding="UTF-8"?>
<product id="200">
	<name>UML Exam Simulator</name>
	<price>100</price>
	<topics name="UML">
		<topic id="UML_SM">
			<name>Static Modeling</name>
			<questions>100</questions>
		</topic>
		<topic id="UML_AE">
			<name>Architecture</name>
			<questions>80</questions>
		</topic>
		<topic id="UML_DM">
			<name>Dynamic Modeling</name>
			<questions>67</questions>
		</topic>
	</topics>
</product>


使用sax解析xml文件,并自动根据实体类class得到映射后的实体类list集合

SAX对底层操作的事例

JDOM对XML文档的读写增删改转换等

DOM4J对XML文档的读写增删改等

对XML文档操作的通用CRUD(JDOM版)

如何利用JDOM把XML文档全部解析出来

java XML -- SAX和StAX分析XML
分享到:
评论

相关推荐

    SAX解析XML文件实例

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

    Java SAX解析Xml文档Demo

    本示例将详细解释如何在Java中使用SAX解析XML文档,并通过注释进行详细说明。 首先,我们需要引入SAX解析器的依赖库,通常这可以通过在项目构建配置中添加JAXB或Xerces实现来实现。 ```java // 引入必要的库,如...

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

    以下是一个简单的SAX解析超大XML文件的Java示例代码: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers....

    sax解析xml文件

    在本项目中,"saxloadxml"应该是实现了一个SAX解析XML文件的示例,旨在帮助开发者理解和应用SAX解析。 首先,我们需要理解SAX解析的基本原理。当解析器读取XML文件时,它会触发一系列的事件,如开始文档、结束文档...

    android 使用Sax解析XML 源码实例

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

    SAX解析XML实例

    总的来说,SAX解析XML是一种高效且灵活的方法,适用于处理大型XML文档。通过自定义事件处理器,我们可以根据业务需求定制解析逻辑,从而有效地解析和利用XML数据。在实际项目中,结合源码分析和工具使用,如IDE中的...

    sax解析xml本地读取xml

    以下是一个简单的SAX解析XML文件的Java代码示例: ```java import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler;...

    XML-java.rar_XML SAX_sax_sax xml_sax 解析 xml_xml using dom

    "sax_xml sax_解析_xml"标签表明了本压缩包包含使用SAX解析XML的示例代码。 3. **JDOM**:JDOM是一个Java API,专门用于读写XML文档。它提供了一个更面向Java的对象模型,使得XML处理更加直观。JDOM在DOM的基础上...

    一个关于sax解析xml的demo

    这个"Project1231_001_XML_SAX"可能包含了一个简单的XML文件和对应的SAX解析示例代码,通过运行这个项目,开发者可以了解如何在实际应用中使用SAX解析XML数据,以及如何处理XML文档中的不同结构。学习和理解SAX解析...

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

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

    DOM SAX解析XML文档的范例(工程包)

    XML(eXtensible Markup Language)是一种...工程中的XMLDemo可能是包含示例代码的类,展示了如何使用DOM和SAX解析XML文档的具体步骤。通过学习和运行这个工程,你可以更好地理解DOM和SAX在实际应用中的差异和选择。

    SAX对xml文档进行解析

    下面是一个简单的SAX解析XML文档的Java代码示例: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SAXXmlDemo extends ...

    Python3基于sax解析xml操作示例

    利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。 解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件; 而事件处理器则负责对事件作出相应,对传递的XML数据进行处理。 1、对大型文件...

    android使用SAX解析xml

    - `xmlSAXPaserDemo`可能是一个包含示例代码的Android项目,用于演示如何实际使用SAX解析XML文件。 - 项目中可能包括网络请求模块、SAX解析器处理类以及展示解析结果的UI部分。 通过以上步骤,开发者可以在...

    使用SAX解析xml文件

    例如,以下是一个简单的SAX解析XML的Java代码示例: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SaxExample extends ...

    dom4j下sax解析xml

    在提供的“analysis_xml”项目中,很可能包含了一个示例,演示了如何使用dom4j的SAX解析器解析XML文件。这样的测试项目有助于理解SAX解析的工作原理,并在实际开发中应用。 总结起来,dom4j库提供了DOM和SAX两种XML...

    SAX解析XML

    **SAX解析XML详解** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和Web服务等领域。SAX(Simple API for XML)是XML解析的一种方式,它采用事件驱动模型,以流式处理...

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

    ### 使用SAX解析XML文件详解 ...本总结详细介绍了如何使用SAX解析XML文件的基本流程及关键点,同时提供了一个简单的示例代码,有助于理解整个解析过程。希望本文能对学习和使用SAX解析XML文件有所帮助。

Global site tag (gtag.js) - Google Analytics