`
1140566087
  • 浏览: 547653 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18075
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309467
Group-logo
J2ME 基础学习课程集
浏览量:17989
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17195
社区版块
存档分类
最新评论

Android 之 使用Pull 解析xml文件

阅读更多
/**
 * 使用Pull进行 xml 文件的解析
 * 
 * @author Administrator
 * 
 */
public class PullParseService {

	// Pull 解析
	public static void pullParse(InputStream is, String encoding)
			throws Exception {

		// 1、构造工厂实例
		XmlPullParserFactory factory = XmlPullParserFactory.newInstance();

		// 2、构造解析器对象
		XmlPullParser parser = factory.newPullParser();

		// 3、加载要解析的文档
		parser.setInput(is, encoding);

		// pull 解析xml文档采用的是事件处理机制
		int eventType = parser.getEventType(); // 事件类型

		// 开始解析的过程
		while (eventType != XmlPullParser.END_DOCUMENT) { // 未到文档的结尾

			switch (eventType) {
			case XmlPullParser.START_DOCUMENT: // 文档的开始
				Log.i("msg","文档开始解析了,start_document..");
				break;
			case XmlPullParser.START_TAG: // 开始标签头
				// 获取当前元素的值
				if(parser.getName().equals("stu")){
					// parser.getName() 。。。 获取当前标记的标记名称
					Log.i("msg", "编号为:"+parser.getAttributeValue(0));
				}
				if(parser.getName().equals("name")){
					// parser.nextText() 。。。 获取当前标记的文本
					Log.i("msg", "姓名为:"+parser.nextText()); 
				}
				Log.i("msg","开始标签元素为:"+parser.getName());
				
				break;
			case XmlPullParser.END_TAG: // 结束标签
				Log.i("msg","结束标签元素为:"+parser.getName());
				break;
			}
			
			eventType = parser.next(); // 指针转向下一个标签
		}
	}
}
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics