Android使用SAX解析XML(5)
parse_handler.java文件:
package com.hzhi.my_sax; import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler; public class parse_handler extends DefaultHandler{ private infor m_infor;
private school m_c_school;
private major m_c_major; public parse_handler(infor i){
m_infor = i;
} public void startElement(String uri, String localName, String name,
Attributes attributes) throws SAXException{ super.startElement(uri, localName, name, attributes); // 当前元素学院
if (localName.equalsIgnoreCase(school.tag_name)){ String school_name = attributes.getValue("Name");
String code = attributes.getValue("Code"); school m_school = new school(school_name, code);
m_infor.add_school(m_school);
// 记录当前的学院
m_c_school = m_school; }
// 当前元素有专业
else if (localName.equalsIgnoreCase(major.tag_name)){ String major_name = attributes.getValue("Name");
String code = attributes.getValue("Code"); major m_major = new major(major_name, code);
m_c_school.add_major(m_major);
// 记录当前的学院
m_c_major = m_major; }
// 当前元素有班级
else if (localName.equalsIgnoreCase(clas.tag_name)){
String clas_name = attributes.getValue("Name");
String code = attributes.getValue("Code"); //如果其从属的专业不为空则添加其专业的班级列表
if(m_c_major != null) {
clas m_clas = new clas(clas_name, code);
m_c_major.add_clas(m_clas);
}
} } }
该类的startElement()函数具体的完成了对XML文件的解析过程,并将解析结果放入变量m_infor中。
Android使用SAX解析XML(5)的更多相关文章
- Android之SAX解析XML
一.SAX解析方法介绍 SAX(Simple API for XML)是一个解析速度快并且占用内存少的XML解析器,非常适合用于Android等移动设备. SAX解析器是一种基于事件的解析器,事件驱动 ...
- Android使用SAX解析XML(1)
可扩展标记语言XML是一种数据交换格式,允许用户自己定义,适合Web传输,能提供独立于程序的数据.XML在Android中也有广泛的应用,Android解析XML的方法有很多,本文介绍使用SAX(Si ...
- Android使用SAX解析XML(4)
util.java文件如下: package com.hzhi.my_sax; import java.io.IOException; import java.io.InputStream; impo ...
- Android使用SAX解析xml
一.理论准备 SAX采用事件驱动机制来解析XML文档,每当SAX解析器发现文档开始.元素开始.文本.元素结束.文档结束等事件时,就会向外发送一次事件,而开发者则可以通过编写事件监听器处理这些事 ...
- Android使用SAX解析XML(3)
主界面MainActivity.java: package com.hzhi.my_sax; import java.util.ArrayList; import android.os.Bundle; ...
- Android使用SAX解析XML(2)
school类包含了一个major列表,可以增加该列表的元素,以及返回该列表,还实现了Parcelable.Creator接口. package com.hzhi.my_sax; import jav ...
- Android使用SAX解析XML(6)
应用截图: (1)开始运行时 (2)选择学院 (3)选择专业 (4)选择班级 (5)选择班级的详细信息 本文参考了<Android平台开发之旅>.
- Android 使用pull,sax解析xml
pull解析xml文件 1.获得XmlpullParser类的引用 这里有两种方法 //解析器工厂 XmlPullParserFactory factory=XmlPullParserFactory. ...
- Android SAX解析XML
本篇讲解一下SAX解析XML这种方式,首先来看一下它的基本介绍: SAX是一种以事件驱动的XML API,由它定义的事件流可以指定从解析器传到专门的处理程序的代码的XML结构,简单的讲,它是种解析速度 ...
随机推荐
- swift 项目 oc 和 swift 混用,文件相互引用
创建swift工程后,如果后面想新建 oc 文件,这时会生成一个 AppName-Bridging-Header.h文件 一,在swift 文件中 1> 引用swift 文件 什么都不需要操作 ...
- NodeJS实例系列~环境搭建,Hello world归来!
回到目录 1 安装Node.js服务端程序 https://github.com/Microsoft/nodejstools/wiki/Install-Node.js-and-get-started- ...
- 知方可补不足~UPDLOCK更新锁的使用
回到目录 对于高并发的场合下,使用UPDLOCK可以有效的控制并发更新的问题,即当一个线程在进行with(UPDLOCK)并进行update时,另一个线程将被阻塞,它会等第一个线程更新结束后,才可以进 ...
- WebBrowser设置Cookie
在winform里面经常会用到WebBrowser,这是一个难点就是如何设置cookies,注意,Docment对象是只读的,所以WebBrowser.Docment.cookie也就只有get方法, ...
- Linux快速入门03-系统管理
这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用. Linux系列文章 快速入门系列--Linux--01基础概念 ...
- Geometry Curve of OpenCascade BRep
Geometry Curve of OpenCascade BRep eryar@163.com 摘要Abstract:几何曲线是参数表示的曲线 ,在边界表示中其数据存在于BRep_TEdge中,BR ...
- Request 接收参数乱码原理解析三:实例分析
通过前面两篇<Request 接收参数乱码原理解析一:服务器端解码原理>和<Request 接收参数乱码原理解析二:浏览器端编码原理>,了解了服务器和浏览器编码解码的原理,接下 ...
- Js杂谈-正则的测试与回溯次数
例子来源于<精通正则表达式(第三版)>这本书,我贴出来: 这里的NFA是正则的一种引擎,书中介绍了一共三种引擎:NFA,DFA和POSIX NFA.像一般我们常用的.NET,java.ut ...
- office快速制作简历
毕业的一年是由学校向社会转变的一年,面临着人生的一个重大转折--找工作.在如今信息爆炸的时代,纵使力拔山兮气盖世也难免会被遗落芳草之中而不得一展宏图.对未来的憧憬,对美好生活的向往,或多或少你需要一份 ...
- Linux安装配置tomcat
1.首先配置好jdk 查看java版本:java -verson 1.官网下载jdk 2.tar -zxvf xxxx.tar.gz 解压 3.配置环境变量 <1># vi /etc/ ...