xml解析代码示例
List<Entry> list = new ArrayList<>(); Entry entry = null; try { int eventType = response.getEventType(); while(XmlPullParser.END_DOCUMENT != eventType){ switch (eventType){ case XmlPullParser.START_TAG: String tag = response.getName(); if ("item".equalsIgnoreCase(tag)){ entry = new Entry(); }else if (entry != null){ if ("title".equalsIgnoreCase(tag)){ entry.setTitle(new String(response.nextText().getBytes(),"UTF-8")); }else if ("description".equalsIgnoreCase(tag)){ entry.setDesc(new String(response.nextText().getBytes(),"UTF-8")); }else if ("link".equalsIgnoreCase(tag)){ entry.setUrl(response.nextText()); } } break; case XmlPullParser.END_TAG: if (response.getName().equalsIgnoreCase("item") && entry != null) { list.add(entry); entry = null; } break; default: break; } eventType = response.next(); } }catch (XmlPullParserException e) { Log.e(TAG,"xml parse error :"+e.getLocalizedMessage()); } catch (IOException e) { Log.e(TAG,"xml parse error IOException:"+e.getLocalizedMessage()); }
上面是第一种
try { int eventType = response.getEventType(); while(XmlPullParser.END_DOCUMENT != eventType){ switch (eventType){ case XmlPullParser.START_TAG: String tag = response.getName(); if ("entry".equalsIgnoreCase(tag)){ entry = new Entry(); }else if (entry != null){ if ("title".equalsIgnoreCase(tag)){ entry.setTitle(new String(response.nextText().getBytes(),"UTF-8")); }else if ("content".equalsIgnoreCase(tag)){ entry.setDesc(new String(response.nextText().getBytes(),"UTF-8")); }else if ("link".equalsIgnoreCase(tag)){ entry.setUrl(response.getAttributeValue(null, "href")); } } break; case XmlPullParser.END_TAG: if (response.getName().equalsIgnoreCase("entry") && entry != null) { list.add(entry); entry = null; } break; default: break; } eventType = response.next(); } }catch (XmlPullParserException e) { Log.e(TAG,"xml parse error :"+e.getLocalizedMessage()); } catch (IOException e) { Log.e(TAG,"xml parse error IOException:"+e.getLocalizedMessage()); }
上面是第二种