andoird --- XmlPullParser 的使用
有个升级项目需要使用到xml文件,由于XmlPullParser最简单所以选择它也完全满足当前的需求应用。
下面就简要的说明一下具体的用法。
1、基本原理:
常用的有:
XmlPullParser.END_DOCUMENT
XmlPullParser.START_DOCUMENT
XmlPullParser.START_TAG
XmlPullParser.END_TAG
XmlPullParser.TEXT
分别代表着XML文档的结束,开始,标签的开始,标签的结束,内容
按照以上的格式依次进行解析即可。
2、介绍了三种不同的xml格式及解析方法
新建一个新的activiy文件,其实就是程序启动发源地而已。
/* 另类xml文件写法 */private void xml_misc_test(){String xml_test = "<foo hi=\"Hello World!\"/>";try {XR.setXML(xml_test);int eventType = XR.getEventType();Log.i(TAG,"eventType: " + eventType);while (eventType != XmlPullParser.END_DOCUMENT) {if (eventType == XmlPullParser.START_DOCUMENT) {Log.i(TAG,"Start document");} else if (eventType == XmlPullParser.START_TAG) {Log.i(TAG,"Start tag " + XR.getName());String name = XR.getAttributeName(0);String value = XR.getAttributeValue(name);Log.i(TAG,"name:" + name + " value:" + value);} else if (eventType == XmlPullParser.END_TAG) {Log.i(TAG,"End tag " + XR.getName());} else if (eventType == XmlPullParser.TEXT) {Log.i(TAG,"Text " + XR.getText());}eventType = XR.getNextEvent();Log.i(TAG,"eventType: " + eventType);}Log.i(TAG,"End document");} catch (Exception e) {e.printStackTrace();}return ;}输出内容:
10-02 10:48:08.014: I/xmltest(12364): eventType: 0
10-02 10:48:08.014: I/xmltest(12364): Start document
10-02 10:48:08.014: I/xmltest(12364): eventType: 2
10-02 10:48:08.014: I/xmltest(12364): Start tag foo
10-02 10:48:08.014: I/xmltest(12364): name:hi value:Hello World!
10-02 10:48:08.014: I/xmltest(12364): eventType: 3
10-02 10:48:08.014: I/xmltest(12364): End tag foo
10-02 10:48:08.014: I/xmltest(12364): eventType: 1
10-02 10:48:08.014: I/xmltest(12364): End document