将短信转换xml

来源:互联网 发布:大型网络 编辑:程序博客网 时间:2024/06/06 03:13

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();        }    }