麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

使用pull解析器解析和生成xml文件

2019-11-09 17:13:44
字體:
供稿:網(wǎng)友

解析的xml文件如下 person.xml

<?xml version="1.0" encoding="utf-8"?><persons> <person id="20"> <name>xiaoming</name> <age>23</age> </person> <person id="21"> <name>xiaoli</name> <age>27</age> </person></persons>

1.第一步 編寫javaBean : Person.java

public class Person { PRivate String name; private int age; private int id; public Person() { } public Person(String name, int age, int id) { this.name = name; this.age = age; this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; }}

界面設(shè)計 直接展示布局: 這里寫圖片描述

讀取XML和寫入XML 功能實現(xiàn)

public class MainActivity extends AppCompatActivity { Button bt_readxml,bt_writexml; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt_readxml=(Button)findViewById(R.id.bt_readxml); bt_writexml=(Button)findViewById(R.id.bt_writexml); //讀取XML bt_readxml.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AssetManager assetManager= getResources().getAssets(); try { InputStream xml=assetManager.open("person.xml"); List<Person> persons= PersonService.getPersons(xml); for (Person person:persons){ Log.i("MainActivity","id:"+person.getId()+" name:"+person.getName()+" age:"+person.getAge()); } }catch (Exception e){ e.printStackTrace(); } } }); //寫入XML bt_writexml.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { List<Person> persons=new ArrayList<Person>(); Person person1=new Person("lili",23,40); Person person2=new Person("mimi",19,24); persons.add(person1); persons.add(person2); File file=new File(getFilesDir(),"person.xml"); try { FileOutputStream out = new FileOutputStream(file); PersonService.savePersons(persons, out); } catch (Exception e){ e.printStackTrace(); } } }); }}

4.XML文件讀取和寫入的邏輯 PersonService.java如下:

public class PersonService { /** * 讀取XML文件 * @param xml * @return * @throws Exception */ public static List<Person> getPersons(InputStream xml) throws Exception{ List<Person> persons=null; XmlPullParser parser= Xml.newPullParser(); //得到PULL解析器 parser.setInput(xml,"UTF-8");//設(shè)置輸入流的編碼格式 UTF-8 Person person=null; int event=parser.getEventType(); while (event!=XmlPullParser.END_DOCUMENT){ switch (event){ case XmlPullParser.START_DOCUMENT: persons=new ArrayList<Person>(); break; case XmlPullParser.START_TAG: if("person".equals(parser.getName())){ int id =new Integer(parser.getAttributeValue(0)); person=new Person(); person.setId(id); } if("name".equals(parser.getName())){ String name=parser.nextText(); person.setName(name); } if("age".equals(parser.getName())){ int age=new Integer(parser.nextText()); person.setAge(age); } break; case XmlPullParser.END_TAG: if("person".equals(parser.getName())){ persons.add(person); person=null; } break; default:break; } event=parser.next(); } return persons; } /** * 寫XML文件 * @param persons * @param out * @throws Exception */ public static void savePersons(List<Person> persons, OutputStream out) throws Exception{ XmlSerializer xml= Xml.newSerializer(); xml.setOutput(out,"UTF-8"); xml.startDocument("UTF-8",true); xml.startTag(null,"Persons"); for(Person person:persons){ xml.startTag(null,"Person"); xml.attribute(null,"id",String.valueOf(person.getId())); xml.startTag(null,"name"); xml.text(person.getName()); xml.endTag(null,"name"); xml.startTag(null,"age"); xml.text(Integer.toString(person.getAge())); xml.endTag(null,"age"); xml.endTag(null,"Person"); } xml.endTag(null,"Persons"); xml.endDocument(); out.flush(); out.close(); }}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 好吊色欧美一区二区三区四区 | 久久久久久久久久久久久久国产 | 91久久91久久精品免观看 | av成人在线免费观看 | 欧美人的天堂一区二区三区 | a视频在线看 | 成人做爰www免费看 欧美精品免费一区二区三区 | 成人一级毛片 | www.99re14.com| 成人 精品 | 九九精品在线观看 | 久久久一区二区三区视频 | 免费国产网站 | 一级黄色影院 | 国产精品久久久久久久久久iiiii | 国产高清一区 | 九九热视频免费观看 | 一级免费大片 | 日本中文字幕电影在线观看 | 久久精品爱 | 久久艹国产精品 | 欧美一区二区三区久久精品视 | 国产99视频精品免视看9 | 素人视频免费观看 | 中文字幕精品在线播放 | 涩涩激情网 | 精品国产一级毛片 | 性感美女一级毛片 | 嫩呦国产一区二区三区av | 国产精品成人亚洲一区二区 | 999久久久 | 黄色特级毛片 | 久久久www免费看片 亚洲综合视频一区 | 一级做a爱片久久毛片a高清 | 日本高清黄色片 | 亚洲骚综合| 国产激爽大片在线播放 | av在线官网| 欧美一级视屏 | 性欧美xxxx免费岛国不卡电影 | 精品伊人 |