标签:
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();//先获取XmlPullParserFactory实例 XmlPullParser xmlPullParser = factory.newPullParser();//利用XmlPullParserFactory对象获取XmlPullParser对象
/*载入文件*/ String s = "xml文档数据"; StringReader sr = new StringReader(s);//将数据转换成流 xmlPullParser.setInput(sr);//将数据放入XmlPullParser对象进行解析
解析原理:
就像有根手指放在文档上,逐步处理START_TAG,END_TAG和END_DOCUENT不同的XML节点事件。
START_TAG:当手指放在标签的头部时
END_TAG:当手指放在标签的尾部时
END_DOCUMENT:当手指到达文章的尾部的时候
XmlPullParser解析有几个主要方法(属性值:<div id="" name="">节点的内容</div> id and name就是节点属性值。。。 )
private static final String XML_PEOPLE = "people"; public void parseItems(String xmlData){ XmlPullParserFactory factory = XmlPullParserFactory.newInstance();//创建Xml工厂 XmlPullParser parser = factory.newParser();//创建Xml解析器 StringReader sr = new StringReader(xmlData);//将xml数据转换成reader流 parser.setInput(sr);//将数据放入解析器 int eventType = parser.next();//指针下移,获取回调事件类型 While(eventType != XmlPullParser.END_DOCUMENT){ //得到xml数据最后退出循环 if (eventType == XmlPullParser.START_TAG && XML_PEOPLE.equals(parser.getName())){//事件为文章头部并且标签名为需要标签 String name = parser.getAttributeValue(null,"name")//没有namespace就填null,获取属性为name的值 String weight = parser.getAttributeValue(nuill,"weight")//获取属性为weight的值 } eventType = parser.next();//指针下移 } }
标签:
原文地址:http://www.cnblogs.com/rookiechen/p/5263087.html