• 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 }
    复制代码
  • 相关阅读:
    【HDOJ6667】Roundgod and Milk Tea(模拟)
    【HDOJ6655】Just Repeat(贪心)
    【HDOJ6651】Final Exam(贪心)
    【HDOJ6646】A + B = C(模拟)
    【HDOJ6656】Kejin Player(期望DP)
    【2019 Multi-University Training Contest 7】
    【HDOJ6635】Nonsense Time(时间倒流,lis)
    【HDOJ6638】Snowy Smile(线段树)
    【HDOJ6641】TDL(数论)
    【HDOJ6645】Stay Real(堆)
  • 原文地址:https://www.cnblogs.com/dahaoheshan/p/6999449.html
Copyright © 2020-2023  润新知