国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android XmlPullParser 方式解析 Xml 文檔

2019-12-12 02:42:30
字體:
來源:轉載
供稿:網友

Android XmlPullParser 方式解析 Xml 文檔

xml 文件格式

<?xml version="1.0" encoding="UTF-8"?><persons>  <person id="1">    <name>張三</name>    <age>22</age>  </person>  <person id="2">    <name>李四</name>    <age>20</age>  </person></persons>

XmlPullParser 方式解析 xml 文件

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 com.eboy.domain.Person;import android.util.Xml; public class PersonService { public static List<Person> getPersons(InputStream xml) throws Exception {  List<Person> persons = null;  Person person = null;  XmlPullParser pullParser = Xml.newPullParser();  pullParser.setInput(xml, "UTF-8"); // 為Pull解釋器設置要解析的XML數據  int event = pullParser.getEventType();   while (event != XmlPullParser.END_DOCUMENT) {    switch (event) {    case XmlPullParser.START_DOCUMENT:    persons = new ArrayList<Person>();    break;   case XmlPullParser.START_TAG:    if ("person".equals(pullParser.getName())) {     int id = Integer.valueOf(pullParser.getAttributeValue(0));     person = new Person();     person.setId(id);    }    if ("name".equals(pullParser.getName())) {     String name = pullParser.nextText();     person.setName(name);    }    if ("age".equals(pullParser.getName())) {     int age = Integer.valueOf(pullParser.nextText());     person.setAge(age);    }    break;    case XmlPullParser.END_TAG:    if ("person".equals(pullParser.getName())) {     persons.add(person);     person = null;    }    break;    }    event = pullParser.next();  }  return persons; }  /**  * 保存數據到xml文件中  * @param persons  * @param out  * @throws Exception  */ public static void save(List<Person> persons, OutputStream out) throws Exception {  XmlSerializer serializer = Xml.newSerializer();  serializer.setOutput(out, "UTF-8");  serializer.startDocument("UTF-8", true);  serializer.startTag(null, "persons");  for (Person person : persons) {   serializer.startTag(null, "person");   serializer.attribute(null, "id", person.getId().toString());   serializer.startTag(null, "name");   serializer.text(person.getName().toString());   serializer.endTag(null, "name");   serializer.startTag(null, "age");   serializer.text(person.getAge().toString());   serializer.endTag(null, "age");   serializer.endTag(null, "person");  }  serializer.endTag(null, "persons");  serializer.endDocument();  out.flush();  out.close(); }}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 钦州市| 璧山县| 七台河市| 新野县| 什邡市| 涪陵区| 阿瓦提县| 年辖:市辖区| 乡宁县| 安顺市| 贵州省| 四子王旗| 甘孜| 固阳县| 小金县| 漯河市| 阳春市| 仁寿县| 孙吴县| 镶黄旗| 大悟县| 隆昌县| 正安县| 福泉市| 当阳市| 海南省| 连山| 金平| 石渠县| 红安县| 开鲁县| 崇仁县| 乌什县| 剑阁县| 沙湾县| 和田市| 武强县| 合水县| 堆龙德庆县| 分宜县| 荆门市|