這裏說的XML資源文件是放在res/xml裏的xml文件。內容爲開發者本身定義的。html
最簡單的方式java
使用Context的實例方法context.getResources().getXml(R.xml.id)能夠得到該文件的XmlResourceParser,即分析器。android
下邊是一個示例app
<?xml version="1.0" encoding="utf-8"?> <list> <mans> <man name="one" /> <man name="two" /> <man name="three" /> </mans> <mans> <man name="123" /> <man name="456" /> <man name="789" /> </mans> </list>
使用以下方法能夠大概的看一看android是如何操做xml文件的this
XmlResourceParser parser = this.getResources().getXml(R.xml.test); StringBuffer buffer = new StringBuffer(); try { int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG) { buffer.append(parser.getName()); buffer.append('\n'); // buffer.append(parser.getAttributeCount()); int ac = parser.getAttributeCount(); if (ac > 0) { buffer.append(parser.getAttributeName(0)); buffer.append(" = "); buffer.append(parser.getAttributeValue(0)); buffer.append('\n'); } } eventType = parser.next(); } } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } textView.setText(buffer); parser.close();
XmlResourceParser實現了XmlPullParser接口,便可以看成XmlPullParser使用。code
咱們能夠經過getEventType方法獲取當前XmlPullParser分析到的標記(多是文本,特殊符合,或者文件結束什麼的),並使用常量(如XmlPullParser.END_DOCUMENT,這是文件結束事件類型)來判斷當前標記是何種類型。orm
分析完該標記後開開眼使用next方法移動到下一個標記。xml