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

首頁 > 系統(tǒng) > Android > 正文

Android XmlPullParser 方式解析 Xml 文檔

2019-10-22 18:35:06
字體:
供稿:網(wǎng)友

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解釋器設(shè)置要解析的XML數(shù)據(jù)  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; }  /**  * 保存數(shù)據(jù)到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(); }}

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


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 响水县| 沙田区| 阿瓦提县| 常山县| 得荣县| 湘潭市| 宁津县| 六盘水市| 中江县| 哈巴河县| 沈丘县| 临夏市| 哈尔滨市| 鲁甸县| 宁陕县| 香格里拉县| 泽库县| 淳化县| 潼南县| 林周县| 黄山市| 华池县| 区。| 潜江市| 阜城县| 治县。| 南部县| 浮山县| 辉县市| 黑水县| 呼伦贝尔市| 安福县| 犍为县| 宝丰县| 和龙市| 南安市| 武汉市| 龙江县| 新建县| 美姑县| 乐平市|