代码如下 | 复制代码 |
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"); } } |
时间: 2024-09-28 22:02:38