1.用到之前到的android_sax中的HttpUtils工具类
2.PullXMLToos
package com.pull.domain;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
//主要是使用PULL解析xml
public class PullXMLToos {
public PullXMLToos() {
// TODO Auto-generated constructor stub
}
/**
* @param inputStream
* 从服务器获取xml文件,以流的形式返回
* @param encode
* 编码格式
* @return
* @throws Exception
*/
public static List<User> parseXML(InputStream inputStream, String encode)
throws Exception {
List<User> list = null;
User user = null;// 装载解析每一个person节点的内容
// 创建一个xml解析的工厂
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 获得xml解析类的引用
XmlPullParser parser = factory.newPullParser();
parser.setInput(inputStream, encode);
// 获得事件的类型
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<User>();
break;
case XmlPullParser.START_TAG:
if ("user".equals(parser.getName())) {
user = new User();
// 取出属性值
int id = Integer.parseInt(parser.getAttributeValue(0));
user.setId(id);
} else if ("name".equals(parser.getName())) {
String name = parser.nextText();// 获取该节点的内容
user.setName(name);
} else if ("age".equals(parser.getName())) {
int age = Integer.parseInt(parser.nextText());
user.setAge(age);
}
break;
case XmlPullParser.END_TAG:
if ("user".equals(parser.getName())) {
list.add(user);
user = null;
}
break;
}
eventType = parser.next();
}
return list;
}
}
3.user
package com.pull.domain;
public class User {
private int id;
private String name;
private int age;
public User() {
// TODO Auto-generated constructor stub
}
public User(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
4.test
package com.pull.domain;
import java.io.InputStream;
import java.util.List;
import javax.jws.soap.SOAPBinding.Use;
import com.pull.httputils.HttpUtils;
public class test {
public test() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
String path="http://192.168.2.104:8080/mp3/users.xml";
InputStream inputStream=HttpUtils.getXML(path);
List<User> list=null;
try {
list=PullXMLToos.parseXML(inputStream, "utf-8");
for(User user:list){
System.out.println(user.toString());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}