XML解析实例
来源:互联网 发布:为什么移动4g网络很慢 编辑:程序博客网 时间:2024/06/07 06:23
Pull解析
/** * 使用pull解析xml * 2010-04-26 * @author leequer * */public class ReadXmlByPullService {public static List<Person> ReadXmlByPull (InputStream inputStream)throws Exception{List <Person> personList = null;/** * android给我们提供了xml 用来得到xmlpull解析器 */XmlPullParser xmlpull = Xml.newPullParser();/** * 将输入流传入 设定编码方式 * */xmlpull.setInput(inputStream, "utf-8");/** * pull读到xml后 返回数字 * 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 END_DOCUMENT ; 读取到xml的开始标签返回数字2 START_TAG 读取到xml的结束标签返回数字3 END_TAG 读取到xml的文本返回数字4 TEXT */int eventCode = xmlpull.getEventType();/** * 只要这个事件返回的不是1 我们就一直读取xml文件 */Person person = null;while(eventCode!=XmlPullParser.END_DOCUMENT){switch (eventCode){case XmlPullParser.START_DOCUMENT:{//开始文档 new数组personList =new ArrayList<Person>();break;}case XmlPullParser.START_TAG:{if("person".equals(xmlpull.getName())){person = new Person();person.setId(xmlpull.getAttributeValue(0));}else if (person!=null){if(("name".equals(xmlpull.getName()))){/** * 如果当前元素的下一个元素是文本节点 就可以直接用nextText()这个方法来得到文本节点的内容 */person.setName(xmlpull.nextText());}else if ("age".equals(xmlpull.getName())){/** * 如果当前元素的下一个元素是文本节点 就可以直接用nextText()这个方法来得到文本节点的内容 */person.setAge(xmlpull.nextText());}}break;}case XmlPullParser.END_TAG:{ if("person".equals(xmlpull.getName())&&person!=null){personList.add(person);person = null;}break;}}eventCode = xmlpull.next();//没有结束xml文件就推到下个进行解析}return personList;}}
0 0
- XML实例解析1
- 解析xml文件实例
- java解析xml实例
- sax解析xml实例
- jom4j解析xml实例
- JAVA解析Xml实例
- Xml-Sax解析实例
- 解析XML实例
- sax 解析xml实例
- xml解析实例
- dom4j解析xml实例
- DOM解析Xml实例
- dom4j解析xml实例
- 解析xml实例
- Dom4j解析xml实例
- js解析xml 实例
- XML解析实例
- XML解析实例
- 存储过程输出输入
- ubuntu13.04取消自动挂载U盘
- RabbitMQ(四)RabbitMQ死信邮箱(DLX)
- C#自动添加using引用命名空间
- TCP/IP详解--如何处理TIME_WAIT状态
- XML解析实例
- 第四周作业-键盘输入数据 和 数据类型
- 网页制作一些问题
- ARM Linux教程之四:安装交叉编译环境
- Ubuntu更改用户名和密码
- Git - Practical commands
- Iptables脚本篇之Iptables Host Server Online.sh
- 为iOS 7而开发 并支持iOS 6
- jstl中list嵌套map