关于android中自定义xml文件的生成,请看示例代码(主要来源于黑马教程):

 import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import org.xmlpull.v1.XmlSerializer; import android.app.Activity;
import android.os.Bundle;
import android.util.Xml;
import android.view.View; public class MainActivity extends Activity {
//代表所有的短信对象.
private List<SmsInfo> smsInfos; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //模拟短信信息的初始化.
SmsInfo info1 = new SmsInfo("110", "有人掉水里了!", System.currentTimeMillis(), 1);
SmsInfo info2 = new SmsInfo("119", "有火情!", System.currentTimeMillis(), 1);
SmsInfo info3 = new SmsInfo("120", "路边有人产仔!!", System.currentTimeMillis(), 2); smsInfos = new ArrayList<SmsInfo>();
smsInfos.add(info1);
smsInfos.add(info2);
smsInfos.add(info3);
} //直接在xml文件中绑定了activity中button的点击事件
public void click(View view){ //这是java中的xml文件的生成方法,不过这种方法比较容易出错
// StringBuilder sb = new StringBuilder();
// sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
// sb.append("<smss>");
// for(SmsInfo smsinfo: smsInfos){
// sb.append("<sms>");
// } try {
//得到一个xml文件的序列化器
XmlSerializer serializer = Xml.newSerializer();
//初始化一些参数
File file = new File(getFilesDir(),"sms.xml");
FileOutputStream os = new FileOutputStream(file);
serializer.setOutput(os, "utf-8"); serializer.startDocument("utf-8", true);
serializer.startTag(null, "smss"); for(SmsInfo smsInfo: smsInfos){
serializer.startTag(null, "sms"); serializer.startTag(null, "number");
serializer.text(smsInfo.getNumber());
serializer.endTag(null, "number"); serializer.startTag(null, "content");
serializer.text(smsInfo.getContent());
serializer.endTag(null, "content"); serializer.startTag(null, "time");
serializer.text(smsInfo.getTime()+"");
serializer.endTag(null, "time"); serializer.startTag(null, "type");
serializer.text(smsInfo.getType()+"");
serializer.endTag(null, "type"); serializer.endTag(null, "sms");
} serializer.endTag(null, "smss");
serializer.endDocument(); os.close(); } catch (Exception e) {
e.printStackTrace();
} } //定义一个短信的业务类
class SmsInfo { private String number;
private String content;
private long time;
/**
* 1代表发送
* 2代表接受
*/
private int type; public SmsInfo(String number, String content, long time, int type) {
this.number = number;
this.content = content;
this.time = time;
this.type = type;
} public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
} } } 总结android中生成自定义xml文件的方法: 1)首先必须先定义好xml文件的格式,包括各种标签及其结构、数量等;(草稿纸上完成) 2)通过 XmlSerializer serializer = Xml.newSerializer(); 得到一个xml文件的序列化器; 3)初始化一些参数:文件目录,文件名,编码方式等;(写操作主要与文件输出流相关) 4)主要通过以下方法生成xml文件:(所放参数的具体要求,读者可自行了解) serializer.startDocument();
serializer.startTag();
serializer.text();
serializer.endTag();
serializer.endDocument();

xml文件的生成的更多相关文章

  1. Android 解析XML文件和生成XML文件

    解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...

  2. Matlab中使用脚本和xml文件自动生成bus模块

    帮一个老师写的小工具 在一个大工程中需要很多bus来组织信号,而为了规范接口,需要定义很多BusObject,用Matlab语言手写这些BusObject比较费工夫 所以用xml配置文件来写,也便于更 ...

  3. xml文件的生成与解析

    生成方法一:同事StringBuffer类对xml文件格式解析写入 package com.steel_rocky.xml; import android.app.Activity; import a ...

  4. 根据xml文件自动生成xsd文件

    根据xml生成xsd文档 1. 找到vs自带的xsd.exe工具所在的文件夹位置: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 注意 ...

  5. XML文件的生成与读取

    从数据库生成: public static void ToXML(string tablename) { //获取数据 string sql = "select * from " ...

  6. 生成XML文件

    import java.io.FileOutputStream;import java.io.IOException; import org.jdom.Document;import org.jdom ...

  7. 使用Pull解析器生成XML文件和读取xml文件

    有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...

  8. dom4j生成和解析xml文件

    dom4j生成和解析xml文件 要生成和解析如下格式的xml文件: <?xml version="1.0" encoding="UTF-8"?> & ...

  9. Java解析XML与生成XML文件

    XML是eXtensible Markup Language(可扩展标记语言)的简写形式,它是一种元标记语言(meta-markup language),也就是说它没有一套能够适用于各个领域中所有用户 ...

随机推荐

  1. logback的加载过程

    使用logback-classic.jar时,启动应用后,logback按照以下顺序进行扫描: 1.在系统配置文件System Properties中寻找是否有logback.configuratio ...

  2. uvm_tlm_if_base——TLM1事务级建模方法(三)

    文件: src/tlm1/uvm_tlm_ifs.svh 类: uvm_tlm_if_base 这个类没有派生自任何类,在类的中,定义了三类接口:第一类是阻塞性质的普通方法(task),put, ge ...

  3. linux 命令——46 vmstat(转)

    vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行 ...

  4. 在编辑Spring的配置文件时的自动提示

    打 开MyEclipse—>Windows--->referenecs——>General,选择下面的Keys,这就是快捷键的设 置,可将Content Assist的快捷键改为 A ...

  5. ehcache常用API整理

    鉴于csdn的blog的不稳定, 及混乱的编辑器, 和无上传功能, 遂决定彻底投诚javaeye的blog. 数月前整理的一个东西, 作为cache的扫盲文档.参考了它的官方文档. 对ehcache感 ...

  6. 问题 F: 等比数列

    问题 F: 等比数列 时间限制: 1 Sec  内存限制: 64 MB提交: 2699  解决: 1214[提交][状态][讨论版][命题人:外部导入] 题目描述 已知q与n,求等比数列之和: 1+q ...

  7. python_27_多级字典嵌套及操作

    #key-value 字典无下标 所以乱序,key值尽量不要取中文 person_log={ '大二':{ 'Ya Nan':['free','cute','soso'], 'Sha sha':['微 ...

  8. Java源码——HashMap的源码分析及原理学习记录

    学习HashMap时,需要带着这几个问题去,会有很大的收获: 一.什么是哈希表 二.HashMap实现原理 三.为何HashMap的数组长度一定是2的次幂? 四.重写equals方法需同时重写hash ...

  9. GMap.Net解决方案之在WinForm和WPF中使用GMap.Net地图插件的开发

    在做地理位置相关的开发时,总是面临高额地图引擎费用让大部分用户望而却步,加之地图数据又是天价,那么GMap.NET就是首选了,它本身就是开源免费,服务器可以在本地缓存,以后访问时就可以直接访问. 可以 ...

  10. 5.7 并行复制配置 基于GTID 搭建中从 基于GTID的备份与恢复,同步中断处理

    5.7 并行复制配置 基于GTID 搭建中从 基于GTID的备份与恢复,同步中断处理 这个文章包含三个部分 1:gtid的多线程复制2:同步中断处理3:GTID的备份与恢复 下面文字相关的东西 大部分 ...