Android使用SAX解析XML(5)

本文介绍了一个使用Java实现的XML解析器,通过SAX方式解析XML文件,并存储解析结果。解析过程中涉及学院、专业和班级等元素的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值