XML解析--PULL
来源:互联网 发布:js ajax同步和异步的 编辑:程序博客网 时间:2024/06/03 06:07
XML解析----PULL
一、第一步 :查看XML文件,是什么编码格式,还有里面的标签结构
例子:month.xml
二、第二部: 看到标签只有<year><month> ,应该建立一个Month类
<?xml version="1.0" encoding="GBK"?><year><month id="1" shop="myshop" price="8000.00">1</month><month id="2" shop=" myshop " price="9000.00">2</month><month id="3" shop=" myshop " price="7000.00">3</month><month id="4" shop=" myshop " price="8000.00">4</month><month id="5" shop=" myshop " price="7800.00">5</month><month id="6" shop=" myshop " price="7800.00">6</month><month id="7" shop=" myshop " price="7900.00">7</month><month id="8" shop=" myshop " price="7900.00">8</month><month id="9" shop=" myshop " price="7000.00">9</month><month id="10" shop=" myshop " price="7800.00">10</month><month id="11" shop=" myshop " price="11000.00">11</month><month id="12" shop=" myshop " price="4500.00">12</month></year>
package com.cxh.monthSAXPUL;public class Month {private int id;private String shop;private double price;private int month;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getShop() {return shop;}public void setShop(String shop) {this.shop = shop;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getMonth() {return month;}public void setMonth(int month) {this.month = month;}@Overridepublic String toString() {return "Month [id=" + id + ", month=" + month + ", price=" + price+ ", " + (shop != null ? "shop=" + shop : "") + "]";}}
三、导入pull解析的jar包,建立一个MonthPull类
package com.cxh.monthSAXPUL;import java.io.FileInputStream;import java.util.ArrayList;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserFactory;public class MonthPull{public static void main(String[] args) throws Exception {//建立解析工厂XmlPullParserFactory factory=XmlPullParserFactory.newInstance();//建立连接XmlPullParser parser=factory.newPullParser();//这是找到文件位置,以及编码格式(一定要和xml编码一致)parser.setInput(new FileInputStream("src/month.xml"), "GBK");int type=parser.getEventType(); Month month=null;;ArrayList<Month> months=null;String qName="";while(type!=XmlPullParser.END_DOCUMENT){switch(type){case XmlPullParser.START_TAG:qName=parser.getName();if(qName.equals("year")){months=new ArrayList<Month>();}else if(qName.equals("month")){month=new Month();int id=Integer.parseInt(parser.getAttributeValue(0));String shop=parser.getAttributeValue(1);double price=Double.parseDouble(parser.getAttributeValue(2));month.setId(id);month.setShop(shop);month.setPrice(price);}break;case XmlPullParser.TEXT:if(qName.equals("month")){int mon=Integer.parseInt(parser.getText());month.setMonth(mon);}break;case XmlPullParser.END_TAG:qName="";if(parser.getName().equals("month")){months.add(month);}break;default:break;}type=parser.next();}for (Month month2 : months) {System.out.println(month2);}}}
这就ok了,把获取的内容放在对象里,再放到集合里。
0 0
- XML解析Pull解析
- XML解析---PULL解析
- XML的pull解析
- Pull解析XML文件
- Pull详解解析xml
- Pull解析Xml方式
- Android Pull解析xml
- pull解析xml
- xml解析(PULL)
- Pull 解析xml
- android pull 解析xml
- pull解析xml
- PULL解析XML
- android PULL 解析XML
- Android Pull解析xml
- Pull解析xml文件
- Android Pull 解析 XML
- Android Pull 解析 XML
- sdut acm 二维数组 鞍点
- 【注解】android.support.annotations
- Linux主机和MySQL实时监控工具-orzdba
- jquery中DOM节点操作(一)
- Android Activity横屏、竖屏、全屏
- XML解析--PULL
- Oracle数据库 SQL语句和单行字符串函数
- LA 4725 Airport
- 【Leetcode】6. ZigZag Conversion
- 关于Oracle数据库的查询优化
- Flume的安装与配置
- 推荐系统
- SPARK官方文档中文翻译
- intellij idea使用