【安卓7】XML文件解析——PULL解析

PULL解析

        PULL ——比DOM和SAX使用更方便

PULL解析相关类/接口

         解析XML——包:org.xmlpull.vl

  1. XmlPullFactory类:解析器工厂类,用于创建解析器对象
  2. XmlPullParser类:解析器类,用于解析XML文档

PULL解析相关方法

事件代码及方法

类型

描述

public static final int START_DOCUMENT

常量

文档开始

public static final int END_ DOCUMENT

常量

文档结束

public static final int START_TAG

常量

元素开始

public static final int END_TAG

普通

元素结束

public static final int COMMET

普通

注释

public static final int TEXT

普通

元素内容

public abstract int getAttributeCount()

普通

取得元素的属性数量

public abstract String getAttributeName(int index)

普通

取得指定索引的属性名称

public abstract String getAttributeValue(int index)

普通

取得指定索引的属性内容

public abstract int getEventType()

普通

取得事件代码

public abstract String getName()

普通

取得当前元素的名称

public abstract String getText()

普通

取得当前元素的内容

public abstract int next()

普通

取得下一个操作事件代码

public abstract int nextTag()

普通

取得下一个标记

public abstract String nextText()

普通

取得当前节点的下一个文字

public abstract void setInput(

   InputStream inputStream, String inputEncoding)

普通

设置数据的输入字节流

public abstract void setInput(Reader in)

普通

设置数据的输入字符流

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PULL解析代码

 1 // 创建解析器对象
 2 XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
 3 // 读取资源文件
 4 InputStream is = getResources().openRawResource(R.raw.xml文件名);
 5 parser.setInput(is, "utf-8");     // 设置输入流对象和编码格式
 6 int type = parser.getEventType();     // 获取事件类型
 7 while (type != XmlPullParser.END_DOCUMENT) {
 8     String tagName = parser.getName();     // 获取标签名称
 9     if ("指定标签名".equals(tagName)&&type==XmlPullParser.START_TAG) {
10             parser.next();
11             String value = parser.getText();    //获取标签内容
12             Toast.makeText(Pull0.this, value, 3000).show();    //信息提示框
13      }
14     //执行下一个标签
15     type = parser.next();
16 }
PULL解析
原文地址:https://www.cnblogs.com/leelee/p/6994684.html