<?xml version="1.0" encoding="utf-8" ?>
<book>
<title>Java实例一百例</title>
<page id="1">
<title>基础知识篇</title>
<file>base.htm</file>
</page>
<page id="3">
<title>SWING篇</title>
<file>swing.htm</file>
</page>
<page id="28">
<title>EJB篇</title>
<file>ejb.htm</file>
</page>
<page id="33">
<title>DOM篇</title>
<file>xmldom.htm</file>
</page>
</book>
package jp.co.fujixerox.pemaster.grc.server.module.admin.definition;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
/**
* <p>Title: 使用SAX解析XML</p>
* <p>Description: 使用SAX接口解析book.xml文件</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: SaxParsePage.java</p>
*/
public class SaxParsePage extends DefaultHandler {
/**
*<br>方法说明:主方法,声明解析工厂和加载XML文件
*<br>输入参数:
*<br>返回类型:
*/
public static void main(String[] argv) {
try {
//建立SAX解析工厂
SAXParserFactory spfactory = SAXParserFactory.newInstance();
//生成SAX解析对象
SAXParser parser = spfactory.newSAXParser();
//指定XML文件,进行XML解析
parser.parse(new File("book.xml"), new SaxParsePage());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*<br>方法说明:文件打开时调用
*<br>输入参数:
*<br>返回类型:
*/
public void startDocument() {
System.out.println("***开始解析***");
}
/**
*<br>方法说明:当遇到开始标记时调用
*<br>输入参数:
*<br>返回类型:
*/
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
System.out.println("节点开始:" + qName);
for (int i = 0; i < attributes.getLength(); i++) {
System.out.println("节点属性名称:" + attributes.getQName(i));
System.out.println("节点属性值:" + attributes.getValue(i));
}
}
/**
*<br>方法说明:当分析器遇到无法识别为标记或者指令类型字符时调用
*<br>输入参数:
*<br>返回类型:
*/
public void characters(char[] ch, int offset, int length)
throws SAXException {
System.out.println("节点数据:" + new String(ch, offset, length));
}
/**
*<br>方法说明:当遇到节点结束时调用
*<br>输入参数:
*<br>返回类型:
*/
public void endElement(String uri, String localName, String qName) {
System.out.println("节点结束:" + qName);
}
/**
*<br>方法说明:当到文档的末尾调用
*<br>输入参数:
*<br>返回类型:
*/
public void endDocument() {
System.out.println("****文件解析完毕****");
}
}
分享到:
相关推荐
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...
从Tomcat下载xml并使用SAX解析xml文件
Sax解析XML文件解
Servlet利用SAX解析XML文档,JAX,JSWDP,Servlet利用SAX解析XML文档
java学习笔记——使用DOM解析XML和使用SAX解析XML
Java SAX解析Xml Demo(详细注释)
Sax解析xml文件详细例子,解析复杂节点的xml,把内容显示到view中,例子简单完整,易用
Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有...
下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...
DOM和SAX解析XML文档
NULL 博文链接:https://z251257144.iteye.com/blog/1356394
SAX解析超大XML文件 示例代码 SAX解析超大XML文件 示例代码 SAX解析超大XML文件 示例代码
绝对可用的SAX解析XML文件项目,费了九牛二虎之力,才找到的好资源,特与大家共享出来。直接导入eclipse就可运行,无需任何配置。
使用sax解析从网络上获取的xml文件
利用SAX解析XML文档,实现对南工自习室的解析,解决自习室难找的问题
android 使用sax解析XML,内含视频和源码已经说明文档。非常详细
SAX解析xml文件并显示在android虚拟机上实例源码,可以学习一下SAX解析技术
学习android的资料很多,这是学习一些视频之后进行的总结,现在共享出来。希望对大家有帮助。有文档中有附件,是例子!!!!!!!!!!!!!!
sax解析xml本地读取xml,希望对你有用