pull解析
package com.example.pull_jie;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Xml;
import android.widget.ListView;
public class MainActivity extends Activity {
private List<person> list;
private String name;
private person p;
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<person> list = pull();
for (person p : list) {
System.out.println(p.toString());
}
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(new MyAdapter(this,list));
}
private List<person> pull() {
list = new ArrayList<person>();
XmlPullParser parser=Xml.newPullParser();
File file =new File(Environment.getExternalStorageDirectory()+"/contacts.xml");
try {
FileInputStream fis=new FileInputStream(file);
parser.setInput(fis, "utf-8");
int eventType=parser.getEventType();
while(eventType!=parser.END_DOCUMENT)
{
name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if("contacts".equals(name))
{
}else if("user".equals(name))
{
p = new person();
System.out.println("aaaa");
p.setId(Integer.parseInt(parser.getAttributeValue(0)));
p.setUname(parser.getAttributeValue(1));
}else if("phone".equals(name))
{
p.setPhone(parser.nextText());
System.out.println("bbbb");
System.out.println(p.getPhone());
}
else if("mobil".equals(name))
{
System.out.println("ccc");
p.setMobil(parser.nextText());
System.out.println(p.getMobil());
}else if("addr".equals(name))
{
System.out.println("dddd");
p.setAddr(parser.nextText());
System.out.println(p.getAddr());
}else if("email".equals(name))
{
System.out.println("eeeee");
p.setEmail(parser.nextText());
System.out.println(p.getEmail());
}else if("work".equals(name))
{
p.setWork(parser.nextText());
System.out.println(p.getWork());
}
break;
case XmlPullParser.END_TAG:
if("user".equals(name))
{
list.add(p);
p=null;
}
break;
default:
break;
}
eventType=parser.next();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}