javaWeb的XML-pull解析。
2015-12-18 23:36
579 查看
TestActionPull.java
package com.xmlpull.test; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; public class PullTest { public static void main(String[] args) { try { //建立工厂 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); //获得解析器对象 XmlPullParser parser = factory.newPullParser(); /* int sd=parser.START_DOCUMENT;//0 int st=parser.START_TAG; int et=parser.END_TAG; int ed=parser.END_DOCUMENT;*/ //获取xml地址 String path="stu.xml"; //获取流 InputStream is =PullTest.class.getClassLoader().getResourceAsStream(path); //解析器读取流 parser.setInput(new InputStreamReader(is)); //获取事件类型中的记录 int eventType =parser.getEventType(); List<Student> all= null; Student stu=null; while(eventType!=1){ String tag=parser.getName(); switch(eventType){ case 0: all=new ArrayList<Student>(); break; case 2: // stu=new Student(); if(tag.equals("student")){ stu=new Student(); int count =parser.getAttributeCount(); for (int i = 0; i <count; i++) { String attname=parser.getAttributeName(i); String attvalue=parser.getAttributeValue(i); if(attname.equals("id")){ stu.setId(Integer.valueOf(attvalue)); } } }else if(tag.equals("name")){ // System.out.println("text---->"+parser.nextText()); // System.out.println("tag----->"+parser.nextTag()); // int count= parser.nextTag(); // for (int i = 0; i < count; i++) { stu.setName(parser.nextText()); // } // System.out.println("token--->"+parser.nextToken()); }else if(tag.equals("age")){ stu.setAge(Integer.valueOf(parser.nextText())); } break; case 3: if(tag.equals("student")){ all.add(stu); } break; } eventType=parser.next(); } for (int i = 0; i < all.size(); i++) { System.out.println(all.get(i)); } } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- java之正则表达式详解
- eclipse导入myeclipse中的web项目
- Android实战(五)------Myeclipse新建运行Android项目
- Android实战(五)------Myeclipse新建运行Android项目
- liunx安装JDK
- SpringMVC+Hibernate 一个经典的由懒加载机制引发的错误
- [javase学习笔记]-6.4 成员变量与局部变量
- [置顶] 使用JDK开发WebService
- JAVA中如何将大数字或字符串放进数组
- Eclipse之导入导出
- 深入浅出Mybatis-与Spring集成
- Java解析Json字符串--单个实体
- [Java开发之路](2)Java字符串
- [Java开发之路]Java字符串
- java多态简单例子
- struts2文件上传,文件类型 allowedTypes对应
- JAVA菜鸟学习小计1
- JAVA中使用JSON
- 修改MyEclipse下创建Web项目中新建Jsp的默认编码格式
- JAVA并发编程笔记三