Android使用SAX解析XML(1)_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android使用SAX解析XML(1)

Android使用SAX解析XML(1)

 2013/12/17 15:09:31  MSTK  博客园  我要评论(0)
  • 摘要:可扩展标记语言XML是一种数据交换格式,允许用户自己定义,适合Web传输,能提供独立于程序的数据。XML在Android中也有广泛的应用,Android解析XML的方法有很多,本文介绍使用SAX解析XML。需要解析的infor.XML文件:<?xmlversion="1.0"encoding="utf-8"?><infor><SchoolName="计算机学院"Code="CS"><MajorName="计算机应用"Code="CA"><
  • 标签:android 使用 XML 解析

可扩展标记语言XML是一种数据交换格式,允许用户自己定义,适合Web传输,能提供独立于程序的数据。XML在Android中也有广泛的应用,Android解析XML的方法有很多,本文介绍使用SAX解析XML。

需要解析的infor.XML文件

class="brush:java;gutter:true;"><?xml version="1.0" encoding="utf-8"?>
<infor>
  <School Name="计算机学院" Code="CS">
    <Major Name="计算机应用" Code="CA">
      <Class Name="计算机应用10级" Code="CA10"/>
      <Class Name="计算机应用11级" Code="CA11"/>
      <Class Name="计算机应用12级" Code="CA12"/>
      <Class Name="计算机应用13级" Code="CA13"/>
    </Major>
	<Major Name="计算机软件" Code="CW">
      <Class Name="计算机软件10级" Code="CW10"/>
      <Class Name="计算机软件11级" Code="CW11"/>
      <Class Name="计算机软件12级" Code="CW12"/>
      <Class Name="计算机软件13级" Code="CW13"/>
    </Major>
   <Major Name="计算机网络" Code="NW">
      <Class Name="计算机网络10级" Code="NW10"/>
      <Class Name="计算机网络11级" Code="NW11"/>
      <Class Name="计算机网络12级" Code="NW12"/>
      <Class Name="计算机网络13级" Code="NW13"/>
    </Major>
  </School>
  <School Name="电子学院" Code="EE">
    <Major Name="电子工程" Code="ER">
      <Class Name="电子工程10级" Code="ER10"/>
      <Class Name="电子工程11级" Code="ER11"/>
      <Class Name="电子工程12级" Code="ER12"/>
      <Class Name="电子工程13级" Code="ER13"/>
    </Major>
	<Major Name="通信工程" Code="CR">
      <Class Name="通信工程10级" Code="CR10"/>
      <Class Name="通信工程11级" Code="CR11"/>
      <Class Name="通信工程12级" Code="CR12"/>
      <Class Name="通信工程13级" Code="CR13"/>
    </Major>
  </School>
  <School Name="管理学院" Code="BS">
    <Major Name="企业管理" Code="EM">
      <Class Name="企业管理10级" Code="EM10"/>
      <Class Name="企业管理11级" Code="EM11"/>
      <Class Name="企业管理12级" Code="EM12"/>
      <Class Name="企业管理13级" Code="EM13"/>
    </Major>
    <Major Name="会计" Code="AC">
      <Class Name="会计10级" Code="AC10"/>
      <Class Name="会计11级" Code="AC11"/>
      <Class Name="会计12级" Code="AC12"/>
      <Class Name="会计13级" Code="AC13"/>
    </Major>
  </School>
</infor>

该文件最上层是几个学院,每个学院下面有若干个专业,每个专业下面是若干个班级。需要解析的XML文件一般放在res的raw文件夹下面。

建立4个类:infor.java对应xml文件中的infor节点,school.java对应学院,major.java对应专业,clas.java对应班级。这4个类的包含关系为infor.java>school.java>major.java>clas.java。

infor类包含了一个school列表,可以增加、返回该school列表。

package com.hzhi.my_sax;

import java.util.ArrayList;

public class infor {
	
	public static final String TAG_NAME = "infor";
	
	// 学院列表
	public ArrayList<school> schools;
	
	// 构造函数
	public infor(){
		this.schools = new  ArrayList<school>();
	}
	
	// 增加一个学院
	public void add_school(school s){
		this.schools.add(s);
	}
	
	// 返回学院列表
	public ArrayList<school> get_schools(){
		return this.schools;
	}

}
上一篇: 科学家称宇宙崩塌风险升高:或已开始 下一篇: 没有下一篇了!
发表评论
用户名: 匿名