zoukankan      html  css  js  c++  java
  • Android 生成xml文件

    生成XML文件备份短信,其格式为:

    <?xml version="1.0" encoding="UTF-8" standalone="true"?>
    <message>
    <
    sms> <body>第0条短信</body> <date>1465041254178</date> <address>000</address> <type>1</type> </sms>
    <
    sms> <body>第1条短信</body> <date>1465041254179</date> <address>111</address> <type>1</type> </sms>
    <
    sms> <body>第2条短信</body> <date>1465041254179</date> <address>222</address> <type>1</type> </sms> </message>

    建立Sms类

    package com.wuyudong.createxml.domain;
    
    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;
        }
    
    }

    整几个虚拟的短信对象,存在list中,备份数据通常都是备份至sd卡

    使用StringBuffer拼接字符串,* 把整个xml文件所有节点append到sb对象里

    sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
    //添加smss的开始节点
    sb.append("<smss>");
    .......
    * 把sb写到输出流中

    fos.write(sb.toString().getBytes());

    完整代码如下:

    package com.wuyudong.createxml;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.wuyudong.createxml.domain.Sms;
    
    import android.os.Bundle;
    import android.os.Environment;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        List<Sms> message;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 创建10条虚拟短信
            message = new ArrayList<Sms>();
            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("<message>");
                // 每一条短信添加一个sms节点
                for (Sms sms : message) {
                    sb.append("<sms>");
                    sb.append("<body>");
                    sb.append(sms.getBody());
                    sb.append("</body>");
                    sb.append("<date>");
                    sb.append(sms.getDate());
                    sb.append("</date>");
                    sb.append("<address>");
                    sb.append(sms.getAddress());
                    sb.append("</address>");
                    sb.append("<type>");
                    sb.append(sms.getType());
                    sb.append("</type>");
                    sb.append("</sms>");
                }
                sb.append("</message>");
                fos.write(sb.toString().getBytes());
                fos.close();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    指定HTML标签属性 |Specifying HTML Attributes| 在视图中生成输出URL |高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
    传递额外的值 Passing Extra Values |在视图中生成输出URL | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
    以其他控制器为目标 在视图中生成输出URL
    数组与指针(数组中所有元素的和)
    OC中的指针
    UIScrollView创建相册
    开发之UI篇
    TabBarController
    适配ipone5
    NSDate 哪些事
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5559436.html
Copyright © 2011-2022 走看看