xml文件的生成
关于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文件的生成的更多相关文章
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- Matlab中使用脚本和xml文件自动生成bus模块
帮一个老师写的小工具 在一个大工程中需要很多bus来组织信号,而为了规范接口,需要定义很多BusObject,用Matlab语言手写这些BusObject比较费工夫 所以用xml配置文件来写,也便于更 ...
- xml文件的生成与解析
生成方法一:同事StringBuffer类对xml文件格式解析写入 package com.steel_rocky.xml; import android.app.Activity; import a ...
- 根据xml文件自动生成xsd文件
根据xml生成xsd文档 1. 找到vs自带的xsd.exe工具所在的文件夹位置: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 注意 ...
- XML文件的生成与读取
从数据库生成: public static void ToXML(string tablename) { //获取数据 string sql = "select * from " ...
- 生成XML文件
import java.io.FileOutputStream;import java.io.IOException; import org.jdom.Document;import org.jdom ...
- 使用Pull解析器生成XML文件和读取xml文件
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...
- dom4j生成和解析xml文件
dom4j生成和解析xml文件 要生成和解析如下格式的xml文件: <?xml version="1.0" encoding="UTF-8"?> & ...
- Java解析XML与生成XML文件
XML是eXtensible Markup Language(可扩展标记语言)的简写形式,它是一种元标记语言(meta-markup language),也就是说它没有一套能够适用于各个领域中所有用户 ...
随机推荐
- 模块详解及import本质
一.模块的定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test) 包:用来从逻辑上组织模块的 ...
- NOIP2018赛前停课集训记(10.24~11.08)
前言 为了不久之后的\(NOIP2018\),我们的停课从今天(\(Oct\ 24th\))起正式开始了. 本来说要下周开始的,没想到竟提早了几天,真是一个惊喜.毕竟明天有语文考试.后天有科学考试,逃 ...
- CSS之常见文字样式整理
常见文字样式 行高:line-height,当我i们将行高的大小设置成当前元素的高度时,可以实现当行文本在当前元素中垂直方向居中显示的效果 水平对齐方式:text-align:left|center| ...
- AngularJs学习笔记-数据绑定、管道
数据绑定.管道 (1)数据绑定(Angular中默认是单向绑定) 1.[]方括号 可以用于子组件传值 由于是单向绑定,所以当子组件中的iStars属性发生改变时,不会影响到父组件中product.ra ...
- java基础编程——二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- Nginx学习记录(一)
1. 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支 ...
- C#语句对Access中数据更新问题――Update语法错误
所有字段最好都用[] 括起来: string sqlUpdate = "update UserInfo set [password] = '" + pass + "',[ ...
- IBM MQ Explore使用
一,版本说明: 系统:win10.MQ:V9.04 二.关于帮助文档: 1.读了差不多一大半,个人感觉说明的比较生僻,应该是直译过来的.但是还是可以从这里面学一下基本的操作. 2.对于一些基本的操作, ...
- Vimim是VI中最好的输入法
Vimim是VI中最好的输入法 由于在VI中,normal和insert模式的存在,如果在insert模式下正在输入中文,在通过ESC键返回到normal模式后,系统的中文输入法会与VI的命令相冲突, ...
- jpeg解码库使用实例
jpeg库下载地址: http://www.ijg.org/ 交叉编译三部曲: A ./configure --host=arm-linux-gcc --prefix=/home/flying/jpe ...