public class User { private int id; private String userName; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
支持简单的对象解析
或者
对应的java类如下:
public class Menu { private int id; private int code; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
import java.util.List; public class UserList { private int total; private List user; public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public List getUser() { return user; } public void setUser(List user) { this.user = user; }}
xml解析器代码如下:
import java.io.InputStream;import java.lang.reflect.Field;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.List; import org.xmlpull.v1.XmlPullParser; import android.util.Log;import android.util.Xml; /** * 对pull解析xml进行了封装,不用给每个xml,再创建一个解析类 * * @author steven * * http://www.juziku.com/sunlightcs/ * */public class XmlParse { /** * 解析XML * @param is xml字节流 * @param clazz 字节码 如:Object.class * @param startName 开始位置 * @return 返回List列表 */ @SuppressWarnings({ "rawtypes", "unchecked" }) public List getXmlList(InputStream is, Class clazz, String startName) { List list = null; XmlPullParser parser = Xml.newPullParser(); Object object = null; try { parser.setInput(is, "UTF-8"); //事件类型 int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { case XmlPullParser.START_DOCUMENT: list = new ArrayList