Android基础--XML序列化(XmlSerializer)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android基础--XML序列化(XmlSerializer),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3242字,纯文字阅读大概需要5分钟。
内容图文
![Android基础--XML序列化(XmlSerializer)](/upload/InfoBanner/zyjiaocheng/1095/4b9dbba919aa4d87bcd520e2994e6080.jpg)
1.封装节点的JavaBean
public class City { private String name; private String temp; private String pm25; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTemp() { return temp; } publicvoid setTemp(String temp) { this.temp = temp; } public String getPm25() { return pm25; } publicvoid setPm25(String pm25) { this.pm25 = pm25; } @Override public String toString() { return "City [name=" + name + ", temp=" + temp + ", pm25=" + pm25 + "]"; } public City(String name, String temp, String pm25) { super(); this.name = name; this.temp = temp; this.pm25 = pm25; } public City() { super(); } }
2.生成xml的MainActivity.java ,其中createXmlFile是绑定在一个Button控件上的点击事件
package com.itheima.xmlserializer; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlSerializer; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.util.Xml; import android.view.View; import com.itheima.xmlserializer.domain.City; public class MainActivity extends Activity { List<City> cityList; @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cityList = new ArrayList<City>(); City city = null; for (int i = 0; i < 5; i++) { city = new City("城市" + i, 20 + i + "", 100 + i + ""); cityList.add(city); } } publicvoid createXmlFile(View v) { // 判断当前SD卡是否可用if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 指定存放xml文件的位置 File file = new File(Environment.getExternalStorageDirectory(), "info.xml"); // 获得XML序列化器 XmlSerializer xs = Xml.newSerializer(); OutputStream os = null; try { //OutputStream :指定文件的保存路径 //encoding:指定生成的xml文件的编码 os = new FileOutputStream(file); xs.setOutput(os, "UTF-8"); // 开始生成文件 // 设置xml文件第一行<?xml encoding = ? standalone=?> xs.startDocument("UTF-8", true); //生成根节点开始标签 xs.startTag(null, "weather"); for (City city : cityList) { xs.startTag(null, "city"); xs.startTag(null, "name"); //生成文本节点 xs.text(city.getName()); xs.endTag(null, "name"); xs.startTag(null, "temp"); //生成文本节点 xs.text(city.getTemp()); xs.endTag(null, "temp"); xs.startTag(null, "pm25"); //生成文本节点 xs.text(city.getPm25()); xs.endTag(null, "pm25"); xs.endTag(null, "city"); } //生成根节点结束标签 xs.endTag(null, "weather"); xs.endDocument(); } catch (Exception e) { thrownew RuntimeException(e); } } } }
3.生成的XML文件如下,因为没有换行,所有可读性差一些
<? xml version=‘1.0‘ encoding=‘UTF-8‘ standalone=‘yes‘ ?> < weather >< city >< name >城市0</name><temp>20</temp><pm25>100</pm25></city><city><name>城市1</name><temp>21</temp><pm25>101</pm25></city><city><name>城市2</name><temp>22</temp><pm25>102</pm25></city><city><name>城市3</name><temp>23</temp><pm25>103</pm25></city><city><name>城市4</name><temp>24</temp><pm25>104</pm25></city></weather>
原文:http://www.cnblogs.com/fujianyi/p/4111807.html
内容总结
以上是互联网集市为您收集整理的Android基础--XML序列化(XmlSerializer)全部内容,希望文章能够帮你解决Android基础--XML序列化(XmlSerializer)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】