- 浏览: 239696 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
C#单向链表的实现
/*** * 采集SAX解析XML * 优点:解析快,占用内在少;是采集的事件驱动模式解析的; * 事件驱动:它并不需要解析完整个文档,而是按内容的顺序解析文档, * SAX会判断当前读到的字符是否符合XML语法的某部分,如果符合就会触发事件;事件就是回调方法 * * @author Administrator * */ public class SaxXml { /** * 解析后并返回一个对象集合 * * @param inStream * xml输入流 * @return 解析后并返回一个对象集合 * @throws ParserConfigurationException * @throws SAXException * @throws IOException */ public List<Person> saxParser(InputStream inStream) throws ParserConfigurationException, SAXException, IOException { // 创建一个生成SAX对象的工厂 SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); // 新闻一个SAX解析器 SAXParser saxParser = saxParserFactory.newSAXParser(); // 通过这个对象来解析:是通过驱动事件解析 PersonParser personParser = new PersonParser(); // 把要解析的xml输入流通过personParser解析 saxParser.parse(inStream, personParser); // 关闭流 inStream.close(); // 返回解析后对对象集合 return personParser.getPersons(); } /** * 处理xml的事件类 * @author Administrator * */ private final class PersonParser extends DefaultHandler { private List<Person> persons = null; private Person person = null; private String TAG = null; public List<Person> getPersons() { return persons; } /** * 当执行到第一行时就是:开始文档语法;就会执行这个方法; * 这时我们创建一个Person的List集合 */ public void startDocument() throws SAXException { persons = new ArrayList<Person>(); } /** * 当符合元素语法时就会执行这个方法;我们这里判断的是; * person元素 */ public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { if ("person".equals(localName)) { person = new Person(); person.setId(new Integer(attributes.getValue(0))); } TAG = localName; } /** * 这里是判断的是文本节点 */ public void characters(char[] ch, int start, int length) throws SAXException { if (TAG != null) { if ("name".equals(TAG)) { person.setName(new String(ch, start, length)); } else if ("age".equals(TAG)) { person.setAge(new Short(new String(ch, start, length))); } } } /** * 如果一个元素执行完后.就把这个元素放到List集合里面 * 如:当执行到</person>时会执行这个方法 */ public void endElement(String uri, String localName, String name) throws SAXException { if ("person".equals(localName)) { persons.add(person); person = null; } TAG = null; } } }
<?xml version="1.0" encoding="UTF-8"?> <persons> <person id="1"> <name>secn1</name> <age>231</age> </person> <person id="2"> <name>secn2</name> <age>232</age> </person> <person id="3"> <name>secn3</name> <age>233</age> </person> <person id="4"> <name>secn4</name> <age>234</age> </person> </persons>
public void testReadSAX() throws ParserConfigurationException, SAXException, IOException{ SaxXml sax = new SaxXml(); InputStream inStream = this.getClass().getClassLoader().getResourceAsStream("secn.xml"); List<Person> persons = sax.saxParser(inStream); for(Person person:persons){ Log.i("SaxTest", String.valueOf(person.getName())); } }
发表评论
-
java 分页组件
2012-06-19 11:10 789package com.gakes.common.util; ... -
java 发送邮箱
2012-03-25 15:09 722String host = "smtp.163.co ... -
JAVA压缩文件和解压缩文件
2012-03-24 09:56 991public static void main(String[ ... -
加载图片获取图片参数和画图
2012-03-23 16:09 988public class Images { public ... -
java的枚举的定义和使用
2012-01-12 23:29 1138public emun EmunName { w ... -
从struts输出打印出来
2012-01-12 09:33 720response.setContentType("t ... -
properties的配置添加、删除、修改操作
2012-01-06 13:26 7282public void saveProperties() ... -
Android应用.国际化-屏幕适配-样式与主题
2011-12-26 21:09 894<?xml version="1.0&q ... -
java分页功能
2011-12-23 15:08 779public class PageUtil { priv ... -
Android采集SharedPreferences保存数据
2011-12-21 22:20 750public class MainActivity exten ... -
采用PULL解析XML
2011-12-21 22:05 882/* * 读取 */ public void ... -
采用DOM解析XML
2011-12-21 20:55 766public class DomXml { /** ... -
Android的单元测试和日志配置
2011-12-19 22:27 762<uses-library android:name=& ... -
java环境变量的配置
2011-12-19 09:08 747java环境变量的配置: 1.打开我的电脑--属性-- ... -
spring 如何获取当前上下文的session cookie
2011-12-14 08:49 1116ActionContext.getContext().getS ... -
Android的PULL解析互联网上的XML文件
2011-12-06 18:19 764public class XmlActivity extend ... -
Struts2 如何获取Request Response Session以及解决中文乱码问题
2011-12-06 18:16 1119首页要实现这三个接口 SessionAware, Servl ... -
JSON解析
2011-12-06 18:01 835json为字符串 String path = &quo ... -
C# 生成 添加 修改 删除 XML节点操作
2011-07-04 20:56 2450XmlDocument xmldoc; Xml ... -
xPATH
2011-06-15 13:48 857XPath 是一门在 XML 文档中查找信息的语言。XPath ...
相关推荐
一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml文件的实例
Sax解析XML文件解
Java SAX解析Xml Demo(详细注释)
Servlet利用SAX解析XML文档,JAX,JSWDP,Servlet利用SAX解析XML文档
Sax解析xml文件详细例子,解析复杂节点的xml,把内容显示到view中,例子简单完整,易用
Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有...
java学习笔记——使用DOM解析XML和使用SAX解析XML
使用SAX方式解析XML SAX 是读取和操作 XML 数据的更快速、更轻量的方 法。SAX 允许您在读取文档时处理它,从而不必等待整个文档被存储之后才采取操作。它不涉及 DOM 所必需的开销和概念跳跃。 SAX API是一个基于事件...
sax解析XML方式的代码及特点,sax解析XML方式的代码及特点,sax解析XML方式的代码及特点,sax解析XML方式的代码及特点
使用sax解析xml的源代码
绝对可用的SAX解析XML文件项目,费了九牛二虎之力,才找到的好资源,特与大家共享出来。直接导入eclipse就可运行,无需任何配置。
JAVA SAX解析XMLJAVA SAX解析XMLJAVA SAX解析XML
SAX解析超大XML文件 示例代码 SAX解析超大XML文件 示例代码 SAX解析超大XML文件 示例代码
sax解析xml本地读取xml,希望对你有用
Android SAX 解析XML SAX 解析XML(通用)
DOM和SAX解析XML文档
NULL 博文链接:https://wang-peng1.iteye.com/blog/1133695
SAX解析XML源码:安卓客户端程序,通过HTTP协议从服务器端获取XML文件,然后解析并输出到控制台
SAX解析xml文件并显示在android虚拟机上实例源码,可以学习一下SAX解析技术
NULL 博文链接:https://mazhihui.iteye.com/blog/1535280