import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
public class TestPull {
public static void main(String[] args) throws Exception {
//解析工厂
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
//解析器
XmlPullParser parser = factory.newPullParser();
InputStream inputstream = new FileInputStream("xml/test.xml");
//test.xml放入解析器
parser.setInput(inputstream, "utf-8");
int type = 0;//文档的开始
ArrayList<Group> list =null;
Group group =null;
Member member =null;
while ((type=parser.getEventType())!=XmlPullParser.END_DOCUMENT) {
String tagName = parser.getName();
switch (type) {
case XmlPullParser.START_TAG:
if ("Android08".equals(tagName)) {
list = new ArrayList<Group>();
}else if ("myGroup".equals(tagName)) {
group = new Group();
String no = parser.getAttributeValue(0);
group.setNo(no);
}else if ("member".equals(tagName)) {
member = new Member();
}else if ("name".equals(tagName)) {
String name = parser.nextText();
member.setName(name);
}else if ("Hobby".equals(tagName)) {
String hobby = parser.nextText();
member.setHobby(hobby);
}else if ("location".equals(tagName)) {
String location = parser.nextText();
member.setLocation(location);
}
break;
case XmlPullParser.END_TAG:
if ("myGroup".equals(tagName)) {
group.setMember(member);
list.add(group);
}
break;
}
parser.next();
}
for (Group gs : list) {
System.out.println(gs);
}
}
}
public class Member {
private String name;
private String hobby;
private String location;
public Member() {
super();
}
public Member(String name, String hobby, String location) {
super();
this.name = name;
this.hobby = hobby;
this.location = location;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
@Override
public String toString() {
return "Member [name=" + name + ", hobby=" + hobby + ", location="
+ location + "]";
}
}
public class Group {
private String no;
private Member member;
public Group() {
super();
}
public Group(String no, Member member) {
super();
this.no = no;
this.member = member;
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public Member getMember() {
return member;
}
public void setMember(Member member) {
this.member = member;
}
@Override
public String toString() {
return "Group [no=" + no + ", member=" + member + "]";
}
}