美文网首页我爱编程
pull方式解析xml文件

pull方式解析xml文件

作者: MalDev | 来源:发表于2016-03-30 21:37 被阅读0次

public class Pull_xml extends Activity {

    private String result = "";  
    private ArrayList<Beauty> beauties = new ArrayList(); 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pull_xml);
        try {
            // 以流的形式获取src目录下的xml文件(此文件的父文件夹必须是src)
            InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("beauties.xml");
            // 获取一个XmlPullParser
            XmlPullParserFactory xmlPullParserFactory = XmlPullParserFactory.newInstance();
            XmlPullParser parser = xmlPullParserFactory.newPullParser();
            // 设置输入流已经编码方式
            parser.setInput(inputStream, "UTF-8");
            // 获取当前的事件类型
            int eventType = parser.getEventType();
            Beauty beauty = null;
            while (XmlPullParser.END_DOCUMENT != eventType) {
                String nodeName = parser.getName();

                switch (eventType) {
                case XmlPullParser.START_TAG:
                    if (nodeName.equals("beauty")) {
                        beauty = new Beauty();
                    }
                    if (nodeName.equals("name")) {
                        beauty.setName(parser.nextText());
                    }
                    if (nodeName.equals("age")) {
                        beauty.setAge(parser.nextText());
                    }
                    break;

                case XmlPullParser.END_TAG:
                    if (nodeName.equals("beauty") && beauty != null) {
                        beauties.add(beauty);
                    }

                    break;
                default:
                    break;
                }
                // 手动的触发下一个事件
                eventType = parser.next();
                Log.i("PullActivity", eventType + "");
            }

            for (Beauty beauty2 : beauties) {
                result += "/n" + beauty2.toString();
            }
            // result = beauties.size()+"";
            TextView textView = (TextView) findViewById(R.id.show);
            textView.setText("最终结果:"+"\n" + result);

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

读取到xml的声明返回数字0 START_DOCUMENT;
读取到xml的结束返回数字1 END_DOCUMENT ;
读取到xml的开始标签返回数字2 START_TAG
读取到xml的结束标签返回数字3 END_TAG
读取到xml的文本返回数字4 TEXT

相关文章

  • SAX和DOM解析XML

    PULL方式 除了可以使用SAX和DOM解析XML文件,也可以使用Android内置的Pull解析器解析XML文件...

  • Android笔记06:XML文件操作

    1.用序列化器生成Xml文件 2.Android解析XML文件 常见的XML解析方式有DOM、SAX、和pull,...

  • Android SAX方式解析xml文件

    之前我们讲过pull方式解析xml文件的方法了,今天我们将学习下如何通过sax方式解析xml文件。 我们需要定义一...

  • Android解析xml文件

    Android 生成xml文件 android解析XML总结(SAX、Pull、Dom三种方式) 在android...

  • android笔记-数据储存与界面2

    Pull解析xml文件(掌握) 先自己写一个xml文件,存一些天气信息 拿到xml文件 拿到pull解析器 开始解...

  • Android15-XML和JSON解析

    1. XML解析的两种方式 服务器返回的XML数据如下 1.1使用Pull方式解析XML数据 使用Pull解析,首...

  • pull方式解析xml文件

    读取到xml的声明返回数字0 START_DOCUMENT;读取到xml的结束返回数字1 END_DOCUMENT...

  • Android XML 解析与生成

    选择解析方式 XML 的解析与生成有很多方式(SAX、Pull、Dom),其中 Pull 是 android 系统...

  • Android基础11

    网络基础: http方式访问网络 okhttp方式访问网络 pull方式解析xml数据 SAX方式解析xml数据5...

  • xml序列化器及解析

    xml序列化器 得到xml文件的序列器 3.写xml文件 xml的解析 SAX DOM & DOM4 PULL解析...

网友评论

    本文标题:pull方式解析xml文件

    本文链接:https://www.haomeiwen.com/subject/qeldlttx.html