android 使用pull 方式解析 xml文件
来源:互联网 发布:怎么看淘宝买家的评价 编辑:程序博客网 时间:2024/04/29 06:31
1、创建一个.xml 文件,用来描述事物的信息:computer.xml
<?xml version="1.0" encoding="UTF-8"?><infos> <computer id="1"> <name>华硕</name> <price>3500</price> </computer> <computer id="2"> <name>联想</name> <price>3900</price> </computer> </infos>
2、创建一个相应的java bean 文件
package com.example.bean;public class Computer { private int id; private String name; private float price; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getPrice() { return price; } public void setPrice(float price) { this.price = price; } @Override public String toString() { return this.id + ":" + this.name + ":" + this.price; }}3、定义一个工具类用来解析.xml 文件
package com.example.util;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import android.util.Xml;import com.example.bean.Computer;public class MyXmlPull { public static List<Computer> getComputersInfo(InputStream inputStream) throws Exception { List<Computer> list = null; Computer computer = null; XmlPullParser parser = Xml.newPullParser(); parser.setInput(inputStream, "UTF-8"); // 设置输入流 int event = parser.getEventType();// 取得操作事件 while (event != XmlPullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_DOCUMENT:// 开始文档 list = new ArrayList<Computer>();// 初始化list集合 break; case XmlPullParser.START_TAG:// 开始标签 if ("computer".equals(parser.getName())) {// 判断开始标签元素是否是computer computer = new Computer(); computer.setId(Integer.parseInt(parser.getAttributeValue(0)));// 得到computer标签的属性值,并设置computer的id } if (computer != null) { if ("name".equals(parser.getName())) {// 判断开始标签元素是否是name computer.setName(parser.nextText()); } else if ("price".equals(parser.getName())) {// 判断开始标签元素是否是price computer.setPrice(Float.parseFloat(parser.nextText())); } } break; case XmlPullParser.END_TAG:// 判断当前事件是否是标签元素结束事件 if ("computer".equals(parser.getName())) {// 判断结束标签元素是否是computer list.add(computer);// 将computer添加到list集合 computer = null; } break; } event = parser.next();// 进入下一个元素并触发相应事件 } return list; }}4、在程序中调用:
package com.example.layout;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.ViewGroup.LayoutParams;import android.widget.Button;import android.widget.LinearLayout;import com.example.bean.Computer;import com.example.util.MyXmlPull;public class MainActivity extends Activity { private LinearLayout line1 = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); line1 = (LinearLayout) this.findViewById(R.id.line1); Button btn = new Button(this); btn.setText("点击"); line1.addView(btn, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { List<Computer> list = MyXmlPull.getComputersInfo(getClass().getClassLoader().getResourceAsStream("computer.xml")); for (Computer c : list) { Log.i("mark", c.toString()); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); }}
note:本程序中的computer.xml 是放置在src 的根目录下
- android 使用pull方式解析xml文件
- android 使用pull 方式解析 xml文件
- Android使用Pull解析方式解析xml文件
- Android中使用PULL方式解析XML文件
- Android演示使用PULL方式解析XML文件
- Android中使用PULL方式解析XML文件
- Android中使用PULL方式解析XML文件
- Android中使用PULL方式解析XML文件
- android Pull方式解析xml文件
- Android pull方式解析XML文件
- android解析xml文件的方式 --- PULL
- 使用pull方式解析xml文件
- android使用pull方式解析xml
- android使用pull的方式解析xml
- Android使用Pull方式解析XML
- android 使用 pull 解析xml文件
- android 使用 pull 解析xml文件
- Android 中使用Pull解析XML文件
- NGUI系列教程一Spirit
- arduino----mpu6050
- python eclipse 控制台乱码
- Linux调试、跟踪命令:strace/ltrace、ldd、objdump、nm、strings
- 页面JSON数据浏览器提示下载
- android 使用pull 方式解析 xml文件
- 在phpmyadmin中误删root用户!怎么恢复?
- MTK Camera Power
- js 压缩
- hidesBottombarWhenPushed的副作用
- 新手请教mysql和oracle的区别
- java中遍历实体类属性和类型,属性值
- 修改.properties配置文件中值
- DB2表空间