XMLPULL 解析
来源:互联网 发布:程序员编程用什么软件 编辑:程序博客网 时间:2024/05/21 10:54
XMLPULL 解析
给定xml文件 text.xml
<root><resultcode>200</resultcode><reason>success</reason><result><item><rid>1</rid><name>中国合伙人</name><wk>2013.5.20--2013.5.26(单位:人民币)</wk><wboxoffice>¥20900万</wboxoffice><tboxoffice>¥31700万</tboxoffice></item><item><rid>6</rid><name>圣诞玫瑰(new)</name><wk>2013.5.20--2013.5.26(单位:人民币)</wk><wboxoffice>¥1390万</wboxoffice><tboxoffice>¥1390万</tboxoffice></item><item><rid>7</rid><name>一路狂奔(new)</name><wk>2013.5.20--2013.5.26(单位:人民币)</wk><wboxoffice>¥350万</wboxoffice><tboxoffice>¥350万</tboxoffice></item></result></root>
根据xml文件的值写Movies类
/** * Project : Learn809Sax * Create : hasee * Date : 2016/8/9 */public class Movies {private int rid;private String name;private String wk;private String wboxoffice;private String tboxoffice;public int getRid() {return rid;}public void setRid(int rid) {this.rid = rid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getWk() {return wk;}public void setWk(String wk) {this.wk = wk;}public String getWboxoffice() {return wboxoffice;}public void setWboxoffice(String wboxoffice) {this.wboxoffice = wboxoffice;}public String getTboxoffice() {return tboxoffice;}public void setTboxoffice(String tboxoffice) {this.tboxoffice = tboxoffice;}@Overridepublic String toString() {return "Movies{" +"rid=" + rid +", name='" + name + '\'' +", wk='" + wk + '\'' +", wboxoffice='" + wboxoffice + '\'' +", tboxoffice='" + tboxoffice + '\'' +'}';}}
对xml解析到movies对象中
import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import org.xmlpull.v1.XmlPullParserFactory;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.ArrayList;import java.util.List;/** * Project : Learn809Sax * Create : hasee * Date : 2016/8/11 */public class Test2 {public static void main(String[] args) {String resultcode = null;String reason = null;List<Movies> list = null;//存放多组item标签try { XmlPullParserFactory xmlPullParserFactory = XmlPullParserFactory.newInstance();//工厂 XmlPullParser parser = xmlPullParserFactory.newPullParser();//解析 parser.setInput(new FileInputStream("res/test.xml"), "UTF-8");//解析的文件 int next; while ((next = parser.next()) != XmlPullParser.END_DOCUMENT) {//判断不是最后文档 switch (next) {//判断是哪一个 case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG://当为开始标签的时候 switch (parser.getName()) {//判断标签名字 case "resultcode": resultcode = parser.nextText().trim(); break;case "reason":reason = parser.nextText().trim();break;case "result":list = new ArrayList<>();break;case "item"://遇到item标签创建对象放入list集合list.add(new Movies());break;case "rid":list.get(list.size() - 1).setRid(Integer.parseInt(parser.nextText().trim()));break;case "name": list.get(list.size() - 1).setName(parser.nextText().trim());break;case "wk":list.get(list.size() - 1).setWk(parser.nextText().trim());break;case "wboxoffice":list.get(list.size() - 1).setWboxoffice(parser.nextText().trim());break;case "tboxoffice":list.get(list.size() - 1).setTboxoffice(parser.nextText().trim());break;}break;case XmlPullParser.END_TAG:break;case XmlPullParser.END_DOCUMENT:break;}}} catch (XmlPullParserException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}System.out.println(resultcode);System.out.println(reason);for (Movies movies : list) {System.out.println(movies);}}}
生产XML文件
import org.xmlpull.v1.XmlPullParserException;import org.xmlpull.v1.XmlPullParserFactory;import org.xmlpull.v1.XmlSerializer;import java.io.FileOutputStream;import java.io.IOException;/** * Project : Learn809Sax * Create : hasee * Date : 2016/8/11 */public class Test03 {public static void main(String[] args) {try {XmlPullParserFactory factory = XmlPullParserFactory.newInstance();//工厂XmlSerializer serializer = factory.newSerializer();//序列化serializer.setOutput(new FileOutputStream("res/data.xml"),"UTF-8");//输出目标文件serializer.startDocument(null, true); //开始文档,命名空间为null serializer.startTag(null, "result"); //开始标签 第一个为命名空间null,第二个是标签名serializer.attribute(null, "font", "字体");//设置属性 命名空间为null,名字为font,值为字体。serializer.text("第一个XML"); //设置标签中的内容serializer.endTag(null, "result"); //结束标签serializer.endDocument(); //结束文档} catch (XmlPullParserException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
0 0
- xmlPull解析
- XmlPull解析
- XMLPuLL解析
- XMLPULL 解析
- XMLPULL解析
- Xmlpull解析
- xmlpull解析
- XmlPull解析
- 使用xmlpull解析xml
- 使用XmlPull解析XML
- xmlpull解析XML
- 使用Xmlpull解析xml
- xml解析-xmlpull
- xmlpull解析xml
- xml请求,xmlpull解析
- 轻松使用xmlpull解析xml
- 轻松使用xmlpull解析xml
- XmlPull 解析器的使用
- Android_ViewPager左右切换当前的页面
- Lcs(模板)
- 从SVN上检出项目
- 在CentOS中编译FFmpeg for Android静态库(含fdk aac,x264)
- 直角三角形
- XMLPULL 解析
- JZOJ.4680. 【NOIP2016提高A组8.11】自然数
- 编译FFmpeg for iOS
- IntelliJ IDEA 无法自动显示代码提示框
- Java_数组概述
- Java如何正确地写出单例模式
- win10升级后myeclipse打不开,新装myeclipse10工程乱码问题解决
- Tiny6410开发板与虚拟机 NFS挂载
- HDU/HDOJ 1025 Constructing Roads In JGShining's Kingdom(道路问题,LIS)