android生成xml数据,Android 生成xml文件
两种方式生成:1、通过StringBuffer直接以追加字符串的方式生成XML文件public class MainActivity extends Activity {List message;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setCon
两种方式生成:
1、通过StringBuffer直接以追加字符串的方式生成XML文件
public class MainActivity extends Activity {
List message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建10条虚拟短信
message = new ArrayList();
for (int i = 0; i < 10; i++) {
Sms sms = new Sms("第" + i + "条短信", System.currentTimeMillis() + "",
"1", "" + i + i + i);
message.add(sms);
}
}
public void click(View v) {
File file = new File(Environment.getExternalStorageDirectory(),
"backup.xml");
try {
FileOutputStream fos = new FileOutputStream(file);
StringBuffer sb = new StringBuffer();
// 添加xml头
sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
// 添加根节点
sb.append("");
// 每一条短信添加一个sms节点
for (Sms sms : message) {
sb.append("");
sb.append("
");sb.append(sms.getBody());
sb.append("");
sb.append("");
sb.append(sms.getDate());
sb.append("");
sb.append("
");sb.append(sms.getAddress());
sb.append("
");sb.append("");
sb.append(sms.getType());
sb.append("");
sb.append("");
}
sb.append("");
fos.write(sb.toString().getBytes());
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2、利用XmlSerializer类来生成XML文件
public class MainActivity extends Activity {
List message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建10条虚拟短信
message = new ArrayList();
for (int i = 0; i < 10; i++) {
Sms sms = new Sms("第" + i + "条短信", System.currentTimeMillis() + "",
"1", "" + i + i + i);
message.add(sms);
}
}
public void click(View v) {
File file = new File(Environment.getExternalStorageDirectory(),
"backup1.xml");
try {
FileOutputStream fos = new FileOutputStream(file);
// 获取xml序列化器
XmlSerializer xs = Xml.newSerializer();
xs.setOutput(fos, "utf-8");
//生成xml头
xs.startDocument("utf-8", true);
//添加xml根节点
xs.startTag(null, "message");
for (Sms sms : message) {
xs.startTag(null, "sms");
xs.startTag(null, "body");
xs.text(sms.getBody());
xs.endTag(null, "body");
xs.startTag(null, "date");
xs.text(sms.getDate());
xs.endTag(null, "date");
xs.startTag(null, "address");
xs.text(sms.getAddress());
xs.endTag(null, "address");
xs.startTag(null, "type");
xs.text(sms.getType());
xs.endTag(null, "type");
xs.endTag(null, "sms");
}
xs.endTag(null, "message");
//生成xml头
xs.endDocument();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
最终生成的xml格式:
1465041254178
0001
1465041254179
1111
1465041254179
2221
数据载体:
public class Sms {
private String body;
private String date;
private String type;
private String address;
public Sms(String body, String date, String type, String address) {
super();
this.body = body;
this.date = date;
this.type = type;
this.address = address;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)