pull解析
来源:互联网 发布:清华it电脑培训学校 编辑:程序博客网 时间:2024/05/14 23:18
Pull解析:
Reader和input stream的区别在于是否支持中文。
循环结束的条件是:获得的event type等于文档结束事件类型
是document解析和sax解析的一个组合。
编程要形成自己的思路,默写代码
package com.pull;import java.io.FileInputStream;import java.util.ArrayList;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserFactory;import com.sax.Person;public class PullParserTest {static ArrayList<Person> list = null;static Person p = null;public static void main(String[] args) {try {// 创建解析工厂XmlPullParserFactory factory = XmlPullParserFactory.newInstance();// 根据工厂创建解析器XmlPullParser parser = factory.newPullParser();// 解析xml文件parser.setInput(new FileInputStream("src/com/sax/Person.xml"),"UTF-8");// 解析文件parser.next();// 找到第一个触发事件并一直往后走// 获取事件类型int eventType = parser.getEventType();// 只要不是读到文档结束,循环一直执行while (eventType != XmlPullParser.END_DOCUMENT) {// 如果当前事件类型是一个标签开始事件if (eventType == XmlPullParser.START_TAG) {if ("persons".equals(parser.getName())) {list = new ArrayList<Person>();} else if ("person".equals(parser.getName())) {p = new Person();String idValue = parser.getAttributeValue(0);p.setId(Integer.parseInt(idValue));} else if ("name".equals(parser.getName())) {String nameValue = parser.nextText();p.setName(nameValue);} else if ("age".equals(parser.getName())) {String ageValue = parser.nextText();p.setAge(Integer.parseInt(ageValue));}}else if(eventType==XmlPullParser.END_TAG){if("person".equals(parser.getName())){list.add(p);}}//找下一个事件parser.next();//重新获取事件类型eventType=parser.getEventType();}for(Person person:list){System.out.println("id="+person.getId()+" ");System.out.println("age="+person.getAge()+" ");System.out.println("name="+person.getName()+" ");System.out.println("*********************");}} catch (Exception e) {}}}
- pull解析
- pull解析
- pull解析
- Pull 解析
- pull解析
- pull解析
- Pull解析
- pull解析
- PULL解析
- pull解析
- Pull解析
- Pull解析
- Pull解析
- PULL解析
- pull解析
- pull解析
- PULL解析
- Pull解析
- IIS7/IIS7.5中目录执行权限的设置方法
- Maven配置文件说明
- C++ 虚函数表解析
- 在用fwrite时最好配合fflush函数
- cocos2d-x调用scheduleUpdate()不执行update()方法的解决办法
- pull解析
- 更换redhat YUM源为CENTOS
- reportlab画图(含中文汉字)
- JS基础学习笔记整理
- 灵域 逆苍天新书 第八十章 四方翘楚
- HorizontalScrollView 自动滑动
- [杂谈]APUE习题3.5中的2>&1
- 用MyEclipse10开发基于JAX-WS的Web Service实例
- UNIX网络编程卷二 笔记 管道和FIFO