十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家介绍Android中怎么利用PULL解析XML,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联-专业网站定制、快速模板网站建设、高性价比佛坪网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式佛坪网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖佛坪地区。费用合理售后完善,十多年实体公司更值得信赖。
java代码
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlSerializer;
import android.util.Xml;
import com.cn.domain.Persion;
/****
* 采用Pull解析XML
*
* ****/
public class PULLPersionService {
public static List
getPersino(InputStream is)throws Exception{ List
list = null; Persion persion = null;
XmlPullParser parser = Xml.newPullParser();
parser.setInput(is, "UTF-8");
int event = parser.getEventType();
while(event != XmlPullParser.END_DOCUMENT){
switch (event){
case XmlPullParser.START_DOCUMENT:
30. list = new ArrayList
(); break;
case XmlPullParser.START_TAG:
if("person".equals(parser.getName())){//得到指针所指向的节点名称
int id = Integer.parseInt(parser.getAttributeValue(0));
persion = new Persion();
persion.setId(id);
}
if(persion != null){
if("name".equals(parser.getName())){
String name = parser.nextText();
persion.setName(name);
}else if("age".equals(parser.getName())){
String age = parser.nextText();
persion.setName(age);
}
}
break;
case XmlPullParser.END_TAG:
if("person".equals(parser.getName())){
list.add(persion);
persion = null;
}
break;
default:
break;
}
}
event = parser.next();
return list;
}
public static void save(List
list,OutputStream os) throws IllegalArgumentException, IllegalStateException, IOException{ XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(os, "UTF-8");
serializer.startDocument("UTF-8", true);
serializer.startTag(null, "persons");
for(Persion persion : list){
serializer.startTag(null, "person");
serializer.attribute(null, "id", String.valueOf(persion.getId()));
serializer.startTag(null, "name");
serializer.text(persion.getName());
serializer.endTag(null, "name");
serializer.startTag(null, "age");
serializer.text(String.valueOf(persion.getAge()));
serializer.endTag(null, "age");
serializer.endTag(null, "person");
}
serializer.endTag(null, "persons");
serializer.endDocument();
os.flush();
os.close();
}
}
关于Android中怎么利用PULL解析XML就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。