public class MainActivity extends AppCompatActivity { String xmlString = "<apps>\n" + "\t<app>\n" + "\t\t<id>1</id>\n" + "\t\t<name>google map</name>\n" + "\t\t<version>1.0</version>\n" + "\t</app>\n" + "\t\n" + "\t<app>\n" + "\t\t<id>2</id>\n" + "\t\t<name>google play</name>\n" + "\t\t<version>2.0</version>\n" + "\t</app>\n" + "\t\n" + "\t<app>\n" + "\t\t<id>3</id>\n" + "\t\t<name>chrome</name>\n" + "\t\t<version>3.0</version>\n" + "\t</app>\n" + "\n" + "</apps>"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser xmlPullParser = factory.newPullParser(); //放要解析的xml数据 xmlPullParser.setInput(new StringReader(xmlString)); String id = ""; String name = ""; String version = ""; //获取每个节点的数据类型 int eventType = xmlPullParser.getEventType(); //DOCUMENT 指的是文档的结束 while(XmlPullParser.END_DOCUMENT != eventType){ String nodeName = xmlPullParser.getName(); switch (eventType) { case XmlPullParser.START_TAG: //开始节点 if("id".equals(nodeName)){ id = xmlPullParser.nextText(); }else if("name".equals(nodeName)){ name = xmlPullParser.nextText(); }else if("version".equals(nodeName)){ version = xmlPullParser.nextText(); } break; case XmlPullParser.END_TAG: //最后的文档结尾 Log.i("XMLPARSE",id); Log.i("XMLPARSE",name); Log.i("XMLPARSE",version); break; default:break; } //这个节点执行完就执行下个节点 eventType = xmlPullParser.next(); } } catch (Exception e) { e.printStackTrace(); } } }
Android--xml解析(代码)
猜你喜欢
转载自blog.csdn.net/ykx_1448488568/article/details/81697914
今日推荐
周排行