// 获取XML文档(Parser:剖析器) XmlResourceParser parser = getResources().getXml(R.xml.person); try { // 文档未完 while (parser.getEventType() != XmlResourceParser.END_TAG) { // 解析 // 如果读到开始位置 if (parser.getEventType() == XmlResourceParser.START_TAG) { String strTagName = parser.getName(); ZrLog.log(strTagName); if (strTagName.equals("person")) { String strAge = parser.getAttributeValue(0); // 通过属性名获取属性(null为命名空间) String strSay = parser.getAttributeValue(null, "say"); // 通过属性索引获取属性 ZrLog.log(strAge + ":" + strSay); // 获取文本节点的值 String strName = parser.nextText(); ZrLog.log("nextText:" + strName); } } // 获取解析器的下一个节点 parser.next(); } } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
<?xml version="1.0" encoding="utf-8"?> <persons> <person age="18" say="关羽">Apple</person> <person age="19" say="赵云">Boy</person> <person age="17" say="吕布">Cat</person> </persons>