码迷,mamicode.com
首页 > 其他好文 > 详细

XML_PULL解析

时间:2016-03-10 20:27:08      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

  

1.获取XmlPullParser对象

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();//先获取XmlPullParserFactory实例
XmlPullParser xmlPullParser = factory.newPullParser();//利用XmlPullParserFactory对象获取XmlPullParser对象

2.载入文件并解析的原理

/*载入文件*/
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:当手指到达文章的尾部的时候

3.进行解析并获取解析数据

XmlPullParser解析有几个主要方法(属性值:<div id="" name="">节点的内容</div>   id and name就是节点属性值。。。 )

a.XmlPullParser.getEventType() : 【获取当前事件回调类型】
b.XmlPullParser.getName():【获取当前节点名字】
c.XmlPullParser.getAttributeValue(int index):【根据id获取节点属性值】
d.XmlPullParser.getAttributeValue(String namespace, String name):【根据name获取节点属性值】
e.XmlPullParser.nextText():【在回调节点START_TAG时,通过此方法获取节点全部内容】
 
XmlPullParser移动“手指”的方法:parser.next();
 

4.实例

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();//指针下移
    }
}    

 

 

 

XML_PULL解析

标签:

原文地址:http://www.cnblogs.com/rookiechen/p/5263087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!