XmlPullParser 解析XMl文件
来源:互联网 发布:淘宝关键词数量 编辑:程序博客网 时间:2024/06/01 17:25
//Book类,XML文件节点对应的实体类package com.zjl.xml;public class Book { private String name; private String author; private String publish; private String date; public Book(String name, String author, String publish, String date){ this.name = name; this.author = author; this.publish = publish; this.date = date; } public Book(){ } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getPublish() { return publish; } public void setPublish(String publish) { this.publish = publish; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String toString(){ return "["+this.name+","+this.author+","+this.publish+","+this.date+"]"; } }package com.zjl.xml;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;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 XmlDemo {public static void main(String[] args) throws XmlPullParserException, IOException {//获取工厂类XmlPullParserFactory factory = XmlPullParserFactory.newInstance();factory.setNamespaceAware(true);//获取一个PullParser实例XmlPullParser parser = factory.newPullParser();//获取xml 文件 输入流InputStream in = new FileInputStream("src/test.xml");//设置输入流 , 编码方式parser.setInput(in, "UTF-8");//获取解析的事件类型int eventType = parser.getEventType();//获取Book类的集合 用来存储解析出来的数据List<Book> bookList = new ArrayList<Book>();Book bk = null;//没到达文档结束,就一直循环while(eventType != parser.END_DOCUMENT){//标签开始if(eventType == parser.START_TAG){//判断标签名if("book".equals(parser.getName())){bk = new Book();//获取标签属性个数int count = parser.getAttributeCount();for(int i=0; i<count; i++){if(parser.getAttributeName(i).equals("publish"))//获取标签的属性值并存入Book对象中bk.setPublish(parser.getAttributeValue(i));if(parser.getAttributeName(i).equals("date"))bk.setDate(parser.getAttributeValue(i));}}else if("name".equals(parser.getName())){bk.setName(parser.nextText());}else if("author".equals(parser.getName()))bk.setAuthor(parser.nextText());}else if(eventType == parser.END_TAG){//标签结束,将Book对象添加进 集合 中if("book".equals(parser.getName())){bookList.add(bk);}}//读取下一个事件eventType = parser.next();}//输出从XML文件中读取出来的内容for(Book temp : bookList){System.out.println(temp.toString());}}}
阅读全文
0 0
- XmlPullParser解析XML文件
- XmlPullParser解析XML文件
- XmlPullParser解析xml文件
- XmlPullParser解析xml文件
- XmlPullParser 解析XMl文件
- XmlPullParser解析xml文件
- 关于XmlPullParser解析Xml文件
- 使用XmlPullParser解析xml文件
- 用XmlPullParser解析XML文件
- Android 解析XML文件 XmlPullParser 方法
- android解析xml文件之XmlPullParser
- Pull(XmlPullParser)解析Xml文件
- android使用XmlPullParser来解析XML文件
- android使用XmlPullParser来解析XML文件
- XmlPullParser解析xml文件(还原短信)
- android利用HttpURLConnection+XmlPullParser解析Xml文件
- android XmlPullParser解析xml
- android 解析xml -XmlPullParser
- LINUX 命令详解
- . Ubuntu15.04设置自动锁屏时间
- 贪心之小船过河问题
- numpy.bincount使用
- 阿里云 centOS7下安装MySQL教程
- XmlPullParser 解析XMl文件
- 每天学一点Swift----面向对象下(十)
- Servlet API中forward() 与sendRedirect ()的区别?(就是请求转发和重定向的区别) ?
- POJ1028 Web Navigation【堆栈+模拟】
- 博客说明(进博客必看)。。。
- python变量
- Python脚本运行出现语法错误:indentationError:indent does not match
- LINUX 文件系统
- SSH框架详解