zoukankan      html  css  js  c++  java
  • Android使用SAX解析XML(1)

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

    需要解析的infor.XML文件:

    <?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;
    	}
    
    }
    
  • 相关阅读:
    mysql 数据库检查与修复的办法
    SECPATH透明模式下VLAN透传配置实例
    腾讯QQ所有的服务器
    AutoRuns 9.13 汉化版
    IP地址在数据库中的存储解决方案
    DNS智能解析 for windows 2003
    Windows Media Player ActiveX 控件参数
    删除nvidia右键菜单
    通过js控制cookies
    正确使用|(按位或)和||(逻辑或)
  • 原文地址:https://www.cnblogs.com/mstk/p/3478287.html
Copyright © 2011-2022 走看看