- /**
- * 使用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(); // 指针转向下一个标签
- }
- }
- }
Pull进行 xml 文件的解析
最新推荐文章于 2019-08-08 20:33:24 发布