将短信转换xml

1 篇文章 0 订阅
1 篇文章 0 订阅

1.采取组拼的方式生成xml

public void createXml() {

        StringBuffer sb = new StringBuffer();
        sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
        sb.append("<smss>");

        for (SMS sms : list) {
            sb.append("<sms>");

            sb.append("<address>" + sms.address + "</address>");
            sb.append("<body>" + sms.body + "</body>");
            sb.append("<date>" + sms.date + "</date>");
            sb.append("<type>" + sms.type + "</type>");

            sb.append("</sms>");
        }

        sb.append("</smss>");
        // 通过直接输入一个文件名拿到一个输出流
        try {
            FileOutputStream fos = openFileOutput("smss1.xml", 0);
            fos.write(sb.toString().getBytes());
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

2.第二种生成xml的方式

public void createXml2( ) {
        // 需要用到系统给我们提供的xml序列化器
        XmlSerializer serializer = Xml.newSerializer();
        FileOutputStream fos;
        try {
            fos = openFileOutput("smss2.xml", 0);
            serializer.setOutput(fos, "utf-8");
            // 开始文档 标记为独立xml
            serializer.startDocument("utf-8", true);
            // 开始添加标签
            serializer.startTag(null, "smss");

            // 添加每一个短信
            for (SMS sms : list) {
                serializer.startTag(null, "sms");



                serializer.startTag(null, "address");
                serializer.text(sms.address);
                serializer.endTag(null, "address");

                serializer.startTag(null, "body");
                serializer.text(sms.body);
                serializer.endTag(null, "body");

                serializer.startTag(null, "date");
                serializer.text(sms.date);
                serializer.endTag(null, "date");

                serializer.startTag(null, "type");
                serializer.text(sms.type + "");
                serializer.endTag(null, "type");

                serializer.endTag(null, "sms");
            }

            serializer.endTag(null, "smss");
            serializer.endDocument();

            // 最后将所有数据一并刷入到文件中
            serializer.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值