pull解析xml

原创 2012年03月26日 09:58:21

不解释,直接上代码
<?xml version="1.0" encoding="utf-8"?>
<students>
	<student id="1">
		<name>张三</name>
		<age>18</age>
	</student>
	<student id="2">
		<name>李四</name>
		<age>33</age>
	</student>
	<student id="3">
		<name>王五</name>
		<age>12</age>
	</student>
</students>
---------------------

package com.u.v;

public class Student {
	private String id;
	private String name;
	private String age;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	
	
	@Override
	public String toString() {
		return "Student [age=" + age + ", id=" + id + ", name=" + name + "]";
	}

}
---------------------------

package com.u.v;

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;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class ABCpullActivity extends Activity {
	private TextView tv;
	private List<Student> students;
	private Student student;
	private StringBuffer sb = new StringBuffer();;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv = (TextView) findViewById(R.id.tv);
        
        InputStream in = this.getClass().getClassLoader().getResourceAsStream("s.xml");
        try {
			for(Student s:getlist(in)){
				sb.append(s.toString()+"\n");
			}
			tv.setText(sb.toString());
		} catch (XmlPullParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        
    }
	
	public List<Student> getlist(InputStream in) throws XmlPullParserException, IOException{
		XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
		XmlPullParser parser = factory.newPullParser();
		
		parser.setInput(in, "UTF-8");
		
		int event = parser.getEventType();
		while(XmlPullParser.END_DOCUMENT != event){
			String nodeName = parser.getName();
			
			switch (event) {
			case XmlPullParser.START_DOCUMENT:
				students = new ArrayList<Student>();
				break;
			case XmlPullParser.START_TAG:
				if(nodeName.equals("student")){
					student = new Student();
					student.setId(parser.getAttributeValue(0));
				}
				if(nodeName.equals("name")){
					student.setName(parser.nextText());
				}
				if(nodeName.equals("age")){
					student.setAge(parser.nextText());
				}
				break;
			case XmlPullParser.END_TAG:
				if(nodeName.equals("student") && student!=null){
					students.add(student);
				}
				break;
			default:
				break;
			}
			event = parser.next();
		}
		
		
		return students;
	}
	
}

















Android PULL解析XML

  • 2017年07月27日 13:36
  • 21.28MB
  • 下载

pull解析XML

  • 2015年06月03日 20:56
  • 45KB
  • 下载

Android-通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)

通过网络获取xml文件,使用pull解析该文件得到服务器中的信息; demo中使用了一个开源的图片加载包,故上传源码方便查看; 源码下载地址:http://download.csdn.net/deta...

Pull解析xml

  • 2016年07月02日 18:12
  • 1.47MB
  • 下载

pull解析xml

  • 2014年07月08日 09:50
  • 19.49MB
  • 下载

Android解析XML(PULL方式)和JSON 工作原理和实现过程(详细代码)

Json:解析过程和解析原理以及与XML的对比(这里讲的挺详细的:http://blog.csdn.net/onlyonecoder/article/details/8490924) ...

13pull解析xml天气信息

  • 2015年10月13日 11:50
  • 855KB
  • 下载

android pull解析xml源码

  • 2013年07月13日 16:33
  • 45KB
  • 下载

Android 中使用Pull解析XML文件

解析XML文件是非常常用的功能,在Android客户端中,经常与服务器通信都需要xml文件的支持,我们这里介绍一个 简单的xml文件的解析,就是使用android中的pull方法进行解析。在java...

Pull解析xml源码导入即可用

  • 2012年07月21日 21:39
  • 149KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pull解析xml
举报原因:
原因补充:

(最多只允许输入30个字)