简单的读析xml:
例子:
<? xml version = "1.0" encoding = "utf-8" ?>
< Table name = "UserList" >
< key name = "number1" >
< logname >小白 </ logname >
< passwd > 123456 </ passwd >
< default_Mark > disable </ default_Mark >
</ key >
< key name = "number2" >
< logname >小红 </ logname >
< passwd >123456 </ passwd >
< default_Mark > disable </ default_Mark >
</ key >
< key name = "number3" >
< logname >小强 </ logname >
< passwd >234567 </ passwd >
< default_Mark > disable </ default_Mark >
</ key >
</ Table >
1.1 首先创建对象 User,对应xml里面的key:
public class User implements Serializable{
private static final long serialVersionUID = 1L;
private String usename ;
private String password ;
private String default_Mark ;
private String UserMark ;
public User() {
}
public User (String usename, String password,String default_Mark,String UserMark ) {
this . usename = usename;
this . password = password;
this. UserMark = UserMark ;
this . default_Mark = default_Mark;
}
public String getUseName() {
return usename ;
}
public String getValue() {
return password ;
}
public String getdefault_Mark() {
return default_Mark ;
}
public String getUserMark() {
return UserMark ;
}
public void setUseName(String usename) {
this . usename = usename;
}
public void setvalue(String password) {
this . password = password;
}
public void setUserMark(String UserMark)
{
this . UserMark = UserMark ;
}
public void setdefault_Mark(String default_Mark) {
this . default_Mark = default_Mark;
}
}
1.2 使用 xmlpull 读 xml:
public class ReadService {
public static List<User> getEventsFromAnXML(InputStream is) throws Exception
{
XmlPullParser xpp = Xml.newPullParser ();
xpp.setInput(is, "utf-8" );
int eventType = xpp.getEventType();
List<User> keys = null ;
User key = null ;
boolean done = false ;
while (eventType != XmlPullParser. END_DOCUMENT && !done)
{
switch (eventType){
case XmlPullParser. START_DOCUMENT :
keys = new ArrayList< User >();
break ;
case XmlPullParser. START_TAG :
String tag = xpp.getName();
if (tag.equalsIgnoreCase( "key" )){
key = new User ();
key.set UserMark (xpp.getAttributeValue(0));
} else if (key != null ){
if ( tag.equalsIgnoreCase( "logname" )){
key.setServerValue( new String(xpp.nextText()));
} else if (tag.equalsIgnoreCase( "passwd" )){
key.setvalue( new String(xpp.nextText()));
} else if (tag.equalsIgnoreCase( "default_Mark" )){
key.setdefault_Mark( new String(xpp.nextText()));
}
}
break ;
case XmlPullParser. END_TAG :
if (xpp.getName().equalsIgnoreCase( "key" ) && key != null ) {
keys.add(key);
key = null ;
}
else if (xpp.getName().equalsIgnoreCase( "Table" )){
done = true ;
}
break ;
}
eventType = xpp.next();
}
is.close();
return keys;
}
}