1、核心類:
XmlPullParserFactory
XmlPullParser
2、核心代碼:
// 實例化壹個xml pull解析的工廠
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 實例化壹個xml pull解析對象
XmlPullParser pullParser = factory.newPullParser();
// 將xml文件作為流傳入到inputstream
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream("customers.xml"));
// xml解析對象接收輸入流對象
pullParser.setInput(bis, "utf-8");
int event = pullParser.getEventType();
List<Map<String, Object>> list = null;
Map<String, Object> map = null;
while (event != XmlPullParser.END_DOCUMENT) {
switch (event) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<>();
break;
case XmlPullParser.START_TAG:
if ("customer".equals(pullParser.getName())) {
map = new HashMap<String, Object>();
}
if (pullParser.getName().equals("name")) {
map.put("name", pullParser.nextText());
}
if (pullParser.getName().equals("tel")) {
map.put("tel", pullParser.nextText());
}
// if (pullParser.getName().equals("email")) {
// map.put("email", pullParser.nextText());
// }
break;
case XmlPullParser.END_TAG:
if (pullParser.getName().equals("customer")) {
list.add(map);
}
break;
}
event = pullParser.next();
}
希望能幫助妳!