public@H_403_9@ class@H_403_9@ MainActivity extends@H_403_9@ AppCompatActivity {
@H_403_9@private@H_403_9@ RequestQueue queues ;
ImageView imageView;
String xml @H_403_9@= "<apps>\n" +
" <app>\n" +
" <id>1</id>\n" +
" <name>Google maps</name>\n" +
" <version>1.0</version>\n" +
" </app>\n" +
" <app>\n" +
" <id>2</id>\n" +
" <name>chrome</name>\n" +
" <version>2.1</version>\n" +
" </app>\n" +
" <app>\n" +
" <id>3</id>\n" +
" <name>google play</name>\n" +
" <version>3.1</version>\n" +
" </app> \n" +
"</apps>";
@Override
@H_403_9@protected@H_403_9@ void@H_403_9@ onCreate(Bundle savedInstanceState) {
@H_403_9@super@H_403_9@.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView @H_403_9@= (ImageView) findViewById(R.id.image);
parseXMLWithPull(xml);
}
@H_403_9@private@H_403_9@ void@H_403_9@ parseXMLWithPull(String xmlData){
@H_403_9@try@H_403_9@ {
XmlPullParserFactory factory @H_403_9@= XmlPullParserFactory.newInstance();
XmlPullParser xmlPullParser @H_403_9@= factory.newPullParser();
@H_403_9@//@H_403_9@设置输入的内容@H_403_9@
xmlPullParser.setInput(new@H_403_9@ StringReader(xmlData));
@H_403_9@//@H_403_9@获取当前解析事件,返回的是数字@H_403_9@
int@H_403_9@ eventType = xmlPullParser.getEventType();
@H_403_9@//@H_403_9@保存内容@H_403_9@
String id = "";
String name @H_403_9@= "";
String version@H_403_9@="";
@H_403_9@while@H_403_9@ (eventType != (XmlPullParser.END_DOCUMENT)){
String nodeName @H_403_9@= xmlPullParser.getName();
@H_403_9@switch@H_403_9@ (eventType){
@H_403_9@//@H_403_9@开始解析XML@H_403_9@
case@H_403_9@ XmlPullParser.START_TAG:{
@H_403_9@//@H_403_9@nextText()用于获取结点内的具体内容@H_403_9@
if@H_403_9@("id".equals(nodeName))
id @H_403_9@= xmlPullParser.nextText();
@H_403_9@else@H_403_9@ if@H_403_9@("name".equals(nodeName))
name @H_403_9@= xmlPullParser.nextText();
@H_403_9@else@H_403_9@ if@H_403_9@("version".equals(nodeName))
version @H_403_9@= xmlPullParser.nextText();
} @H_403_9@break@H_403_9@;
@H_403_9@//@H_403_9@结束解析@H_403_9@
case@H_403_9@ XmlPullParser.END_TAG:{
@H_403_9@if@H_403_9@("app".equals(nodeName)){
Log.d(@H_403_9@"输出:","parseXMLWithPull: id is "+ id);
Log.d(@H_403_9@"输出:","parseXMLWithPull: name is "+ name);
Log.d(@H_403_9@"输出:","parseXMLWithPull: version is "+ version);
}
} @H_403_9@break@H_403_9@;
@H_403_9@default@H_403_9@: break@H_403_9@;
}
@H_403_9@//@H_403_9@下一个@H_403_9@
eventType = xmlPullParser.next();
}
} @H_403_9@catch@H_403_9@ (Exception e) {
e.printStackTrace();
}
}
}@H_403_9@
使用的是pull解析,安卓官方推荐的解析方法