- 浏览: 233273 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
andy845399683:
百度查了好多内容,都是让我把事件修改得更长,其实45秒不行的话 ...
Server at localhost was unable to start within 45 seconds解决办法 -
v168052730:
nice 非常感谢!
sun.misc.BASE64Encoder存在的问题及其解决方法 -
marrymyy:
...
一键清除SVN或CVS版本控制目录 -
MyTiny:
为什么我测试的结果跟你相反呢,方法1比方法2快些,我写的方法1 ...
JAVA复制文件最快的算法 -
u013641752:
这种方案 , 没有解决问题。。··~~
Server at localhost was unable to start within 45 seconds解决办法
SAX解析xml简单示例:
解析students.xml,打印解析结果。
1、students.xml:
2、SAXParserProcessor: XML解析器,用于解析XML
3、Student:目标实体
4、TestParseXml:测试XML解析器
解析students.xml,打印解析结果。
1、students.xml:
<?xml version="1.0" encoding="UTF-8"?> <students> <student id="1" enable="true"> <name>刘亦菲</name> <sex>女</sex> <age>26</age> <email>lyf@163.com</email> </student> <student id="2" enable="false"> <name>张伟</name> <sex>男</sex> <age>26</age> <email>zhanglangdang@126.com</email> </student> <student id="3" enable="true"> <name>朱小明</name> <sex>女</sex> <age>26</age> <email>zxm@sohu.com.cn</email> </student> </students>
2、SAXParserProcessor: XML解析器,用于解析XML
package com.mzh.parsexml; import java.util.List; import java.util.ArrayList; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class ParseXmlProcessor extends DefaultHandler{ private Student stu;//目标实例 private List<Student> stuList;//目标实例集合 private String currTag;//当前解析的标签名 /*开始解析xml*/ public void startDocument() throws SAXException{ stuList = new ArrayList(); System.out.println("XML文档解析开始..."); } /*结束解析XML*/ public void endDocument() throws SAXException{ System.out.println("XML文档解析完毕。"); } public void startElement(String uri,String localName,String qName,Attributes attributes) throws SAXException{ currTag=qName; //如果开始解析<student>标签,则新建一个student实例: if("student".equals(qName)){ stu = new Student(); } } public void endElement(String uri,String localName,String qName) throws SAXException{ //如果<student>标签解析完毕,则把解析出的student实例添加到student集合中: if("student".equals(qName)){ stuList.add(stu); stu=null; } currTag=null;//每解析完一个标签,必须清空currTag } /*解析标签值*/ public void characters(char[] chr,int start,int length) throws SAXException{ String value=new String(chr,start,length); if(currTag!=null){ if("name".equals(currTag)){ stu.setName(value); }else if("age".equals(currTag)){ stu.setAge(Integer.parseInt(value)); }else if("sex".equals(currTag)){ stu.setSex(value); }else if("email".equals(currTag)){ stu.setEmail(value); } } } /*返回解析结果集合*/ public List<Student> getStudents(){ return stuList; } }
3、Student:目标实体
package com.mzh.parsexml; import java.io.Serializable; public class Student implements Serializable{ private static final long serialVersionUID = -9151482311773013799L; private String name; private String sex; private int age; private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
4、TestParseXml:测试XML解析器
package com.mzh.parsexml; import java.io.File; import java.io.IOException; import java.util.List; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; public class TestParseXml { /*测试parseXml*/ public static void main(String[] args) { String fileName="d:\\students.xml"; //sax解析器工厂: SAXParserFactory parserFactory = SAXParserFactory.newInstance(); ParseXmlProcessor parseXmlProcessor = new ParseXmlProcessor(); try { //从sax解析器工厂中获取一个sax解析器: SAXParser parser=parserFactory.newSAXParser(); //执行XML解析: parser.parse(new File(fileName),parseXmlProcessor); //输出XML解析结果: List<Student> students = parseXmlProcessor.getStudents(); System.out.println("解析结果:"+students.size()+"个学生:"); for(Student stud:students){ System.out.println("name:"+stud.getName()+" " + "age:"+stud.getAge()+" " + "sex:"+stud.getSex()+" " + "email:"+stud.getEmail()); } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } }
- TestSAX.zip (32.1 KB)
- 下载次数: 3
发表评论
-
MD5加密(校验)工具类代码
2015-05-28 10:55 1141import java.io.File; import ... -
连接Oracle RAC的JDBC URL
2015-01-21 10:26 2431当我们用JDBC连接Oracle单实例时,URL这么写就行了: ... -
URL传中文参数导致乱码的解决方案之encodeURI
2015-01-08 12:22 3881通过URL传中文 ... -
IE浏览器环境下Session跨域丢失的问题
2013-09-10 15:01 1963问题背景: 我在A应用的index.jsp中有一 ... -
如何根据XML生成XML schema(*.xsd)
2013-04-25 12:57 16101.下载工具trang.jar(见附件) 2.生成xsd文件 ... -
DefaultHttpClient发送POST请求中文乱码问题修正方案
2013-02-18 15:49 2285在使用DefaultHttpClient向服务器发送post请 ... -
BASE64加密解密
2013-01-16 18:50 1625BASE64工具类,你懂得: package test; ... -
easyExplorer
2013-01-06 15:12 1002easyExplorer,eclipse插件。功能用 ... -
MyEclipse6.5注册机
2012-10-24 18:23 8MyEclipse6.5注册机源代码 MyEclip ... -
Spring 普通POJO中如何获取request对象
2012-08-25 17:42 5079在使用spring时,经常遇到需要在普通POJO中 ... -
Spring AOP 无法拦截 @controller 的问题的解决办法
2012-08-25 15:50 2647Spring AOP无法拦截@controller?其实是可以 ... -
JMS 之 ActiveMQ入门示例
2012-07-12 17:24 1836企业中各项目中相互协作的时候可能用得到消息通知机制。比如有东西 ... -
浅谈继承和组合
2012-07-10 14:20 1200面向对象编程讲 ... -
UML之继承、实现、依赖、关联、聚合和组合
2012-07-04 11:43 993( 声明:本文转自http:// ... -
XFire 如何修改WSDL 参数名
2012-06-26 12:40 5918WebServices接口的描述文件WSDL中经常出现 ... -
排序算法之冒泡排序和选择排序
2012-06-15 09:42 1099package com.mzh.common; pu ... -
Spring声明式事务@Transactional的使用陷阱
2012-06-12 17:47 2120在Spring的声明式事务使用过程中,是否遇到过@Transa ... -
Web Service的三种调用方式
2012-06-06 15:57 1269下面列举三种调用WEB SERVICE的方式,仅供参考 ... -
JAVA复制文件最快的算法
2012-06-05 17:43 12309下面列举了两个拷贝文件的算法,第一个使用的是IO流-- ... -
MyEclipse开发WebService实例详解
2012-05-25 15:03 1206MyEclipse开发WebService实例详解,详见附件。 ...
相关推荐
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...
### SAX 解析 XML 实例详解 #### 一、SAX 解析器简介 SAX (Simple API for XML) 是一种基于事件驱动模型的 XML 解析技术。与 DOM (Document Object Model) 解析不同,SAX 不会将整个 XML 文档加载到内存中,而是...
标题"读取RSS-SAX解析XML实例(java版)"所涉及的知识点主要集中在两个方面:一是如何读取RSS(Really Simple Syndication)数据,二是使用SAX解析XML文件。 RSS是一种用于发布新闻、博客和其他定期更新内容的格式...
本主题将深入探讨如何在Servlet中利用SAX解析XML文档。 首先,我们需要了解SAX解析的基本原理。SAX解析器不创建整个XML文档树,而是当遇到XML文档的各个部分(如元素、属性、文本等)时,触发相应的事件回调函数。...
下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...
以下是一个使用SAX解析XML文件的基本步骤: 1. **创建解析器**: 首先,我们需要创建一个SAX解析器实例。在Java中,这通常通过`SAXParserFactory`类完成。设置解析器属性,然后调用`newSAXParser()`方法获取`...
在使用SAX解析XML前,需要创建一个解析器实例。Java中,可以使用`SAXParserFactory`来生成`SAXParser`,然后调用`parse()`方法解析XML文件。例如: ```java SAXParserFactory factory = SAXParserFactory.new...
总结来说,"saxloadxml"项目提供了使用SAX解析XML文件的一个实例,可以帮助开发者了解如何利用SAX解析器处理XML文档,尤其是在性能和内存使用方面有较高要求的情况下。通过学习和实践这个项目,你可以提升处理XML...
以下是使用SAX解析XML的基本步骤: - 创建`DefaultHandler`子类,重写关键方法如`startElement`、`endElement`和`characters`。 - 实例化`SAXParserFactory`,然后获取`SAXParser`。 - 使用`parse`方法解析XML文件...
标题“sax解析xml本地读取xml”指的是使用SAX解析器来读取和解析存储在本地文件系统中的XML文件。这种方式适用于处理那些无法一次性加载到内存中的大型XML文档,或者对于内存有限的环境。 SAX解析的基本工作原理...
这个"Project1231_001_XML_SAX"可能包含了一个简单的XML文件和对应的SAX解析示例代码,通过运行这个项目,开发者可以了解如何在实际应用中使用SAX解析XML数据,以及如何处理XML文档中的不同结构。学习和理解SAX解析...
以下是使用SAX解析XML的基本步骤: 1. 创建一个实现DefaultHandler或ContentHandler接口的类,重写其中的方法,如startElement()、endElement()和characters(),用于处理XML文档的结构和数据。 2. 实例化SAX解析器...
下面我们将深入探讨SAX解析XML的相关知识点。 1. **SAX解析器的初始化**:在Java中,我们通常使用`org.xml.sax.parsers.SAXParserFactory`类来创建并配置SAX解析器。首先,我们需要实例化一个SAXParserFactory对象...
以下是对SAX解析XML在Android中的详细解释以及实例代码分析。 **一、SAX解析XML原理** 1. **事件驱动**:SAX解析器在读取XML文档时,会调用预先定义好的处理器接口(如`DefaultHandler`)中的方法,如`...
在实际开发中,XPath常与DOM或SAX结合使用,先由DOM或SAX解析XML,然后用XPath进行查询。 实例应用: 假设我们有一个XML文件,内容如下: ```xml <name>John Doe <position>Manager <name>Jane Smith ...