pull解析

来源:互联网 发布:steam联机游戏mac 编辑:程序博客网 时间:2024/05/14 05:36

public class MainActivity extends Activity {

List<Person> persons = new ArrayList<Person>();private String tagname;Person p;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);}// 解析xml文件的方法public void pullxml(View v) {    // 1 得到pull解析器    XmlPullParser xmlParser = Xml.newPullParser();    try {        // 2 加载需要解析的文件        xmlParser.setInput(getAssets().open("data.xml"), "utf-8");        // 3 开始读取文档        int type = xmlParser.getEventType();        // 如果文档没有读到结束标签,循环进行读取文档内容        while (type != XmlPullParser.END_DOCUMENT) {            // 读取tag标签            switch (type) {            case XmlPullParser.START_DOCUMENT:                System.out.println("开始读取文档+++++++++++++++++");                break;            case XmlPullParser.START_TAG:                // 如果读取到开始标签,把标签名进行读取<person>                tagname = xmlParser.getName();                System.out.println(tagname+"++++++++++++++++标签名");                if (tagname.equals("person")) {                    p = new Person();                    // 得到标签person中的属性值                    String sid = xmlParser.getAttributeValue(0).trim();                    p.setId(Integer.parseInt(sid));                }                break;            case XmlPullParser.TEXT:                if (tagname.equals("name")) {                    p.setName(xmlParser.getText());                } else if (tagname.equals("age")) {

// System.out.println(xmlParser.getText());
String sage = xmlParser.getText().trim();
p.setAge(Integer.parseInt(sage));
}
break;
case XmlPullParser.END_TAG:
//结束时,对标签名赋值
tagname=xmlParser.getName();
//如果结束标签为
if (tagname.equals(“person”)) {
persons.add(p);
}
tagname=”“;
break;
default:
break;
}
/**
* 业务逻辑处理
*/
type = xmlParser.next();
}

        System.out.println("文档读取完毕++++++++++++++++++" + persons);    } catch (XmlPullParserException e) {        e.printStackTrace();    } catch (IOException e) {        e.printStackTrace();    }}

}

0 0
原创粉丝点击