欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Android里利用XmlSerializer生成xml文件,,解析xml文件的的文章很

来源: javaer 分享于  点击 27740 次 点评:24

Android里利用XmlSerializer生成xml文件,,解析xml文件的的文章很


解析xml文件的的文章很多,但是Android里生成xml文件的文章就很少了。偶然机会找到一篇相关发面的文章,就分享一下了:

用到的主要是XmlSerializer,利用它来写xml文件。

private static void XmlFileCreator(List<JokeBean> data){        File newxmlfile = new File(Environment.getExternalStorageDirectory()+"/new.xml");        try{            if(!newxmlfile.exists())                newxmlfile.createNewFile();        }catch(IOException e){            Log.e("IOException", "exception in createNewFile() method");        }        //we have to bind the new file with a FileOutputStream        FileOutputStream fileos = null;                try{            fileos = new FileOutputStream(newxmlfile);        }catch(FileNotFoundException e){            Log.e("FileNotFoundException", "can't create FileOutputStream");        }        //we create a XmlSerializer in order to write xml data        XmlSerializer serializer = Xml.newSerializer();        try {            //we set the FileOutputStream as output for the serializer, using UTF-8 encoding            serializer.setOutput(fileos, "UTF-8");            //Write <?xml declaration with encoding (if encoding not null) and standalone flag (if standalone not null)            serializer.startDocument(null, Boolean.valueOf(true));            //set indentation option            serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);          //start a tag called "root"            serializer.startTag(null, "jokes");            for(JokeBean joke:data){                serializer.startTag(null, "joke");                //i indent code just to have a view similar to xml-tree                serializer.startTag(null, "id");                serializer.text(joke.getId());                serializer.endTag(null, "id");                serializer.startTag(null, "title");                serializer.text(joke.getTitle());                //set an attribute called "attribute" with a "value" for <child2>                //serializer.attribute(null, "attribute", "value");                serializer.endTag(null, "title");                serializer.startTag(null, "text");                //write some text inside <text>                serializer.text(joke.getText());                serializer.endTag(null, "text");                serializer.endTag(null, "joke");            }            serializer.endTag(null, "jokes");            serializer.endDocument();            //write xml data into the FileOutputStream            serializer.flush();            //finally we close the file stream            fileos.close();        } catch (Exception e) {            Log.e("Exception","error occurred while creating xml file");        }    }//该片段来自于http://byrx.net
相关栏目:

用户点评