Android中pull解析XML文件的简单使用

首先,android中解析XML文件有三种方式,dom,sax,pull

这里先讲pull,稍候会说SAX和DOM

pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐的解析方式

看代码:

XML文件

<?xml version="1.0" encoding="UTF-8"?>
<persons>
    <person id="23">
        <name>孙洋洋</name>
        <age>30</age>
    </person>
    <person id="20">
        <name>孙彬彬</name>
        <age>25</age>
    </person>
</persons>

解析代码:

private void readxml() throws IOException, XmlPullParserException {
        File xmlfile = new File("/data/person.xml"); //获取文件
        XmlPullParser parser = Xml.newPullParser(); //新建解析器
        FileInputStream input = new FileInputStream(xmlfile); //获得输入流
        parser.setInput(input,"UTF-8"); //给解析器设置输入流
        int event = parser.getEventType(); //获得事件类型
        while(event  != XmlPullParser.END_DOCUMENT) //开始根据时间类型进行操作
        {
            switch (event)
            {
                case XmlPullParser.START_TAG:
                    String nam = parser.getName(); //得到TAG的名字,并比较,是name就把值给sname
                    if(nam.equals("name"))
                    {
                        sname += parser.nextText();
                    }
                    break;
                case XmlPullParser.END_TAG:
                    name.setText(sname); //给TEXTVIEW设置上SNAME
                    break;
            }
            event = parser.next();//步进
        }
       //name.setText(sname);
        input.close();
    }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。