public static String writeXML(List<Person> persons, Writer writer){ XmlSerializer serializer = Xml.newSerializer(); try { serializer.setOutput(writer); serializer.startDocument("UTF-8", true); //第一个参数为命名空间,如果不使用命名空间,可以设置为null serializer.startTag("", "persons"); for (Person person : persons){ serializer.startTag("", "person"); serializer.attribute("", "id", person.getId().toString()); serializer.startTag("", "name"); serializer.text(person.getName()); serializer.endTag("", "name"); serializer.startTag("", "age"); serializer.text(person.getAge().toString()); serializer.endTag("", "age"); serializer.endTag("", "person"); } serializer.endTag("", "persons"); serializer.endDocument(); return writer.toString(); } catch (Exception e) { e.printStackTrace(); } return null; }
File xmlFile = new File("myitcast.xml"); FileOutputStream outStream = new FileOutputStream(xmlFile); OutputStreamWriter outStreamWriter = new OutputStreamWriter(outStream, "UTF-8"); BufferedWriter writer = new BufferedWriter(outStreamWriter); writeXML(persons, writer); writer.flush(); writer.close();
StringWriter writer = new StringWriter(); writeXML(persons, writer); String content = writer.toString();
2、
public static void save(List<Person> persons,OutputStream out)throws Exception{ XmlSerializer xmlSerializer=Xml.newSerializer(); xmlSerializer.setOutput(out, "UTF-8"); xmlSerializer.startDocument("UTF-8", true); xmlSerializer.startTag(null, "persons"); for(Person person:persons){ xmlSerializer.startTag(null, "person"); xmlSerializer.attribute(null, "id", person.getId().toString()); xmlSerializer.startTag(null, "name"); xmlSerializer.text(person.getName()); xmlSerializer.endTag(null, "name"); xmlSerializer.startTag(null, "age"); xmlSerializer.text(person.getAge().toString()); xmlSerializer.endTag(null, "age"); xmlSerializer.endTag(null, "person"); } xmlSerializer.endTag(null, "persons"); xmlSerializer.endDocument(); out.flush(); out.close(); }
调用上面方法输出xml文件
public void testSavePerson()throws Exception{ List<Person> persons=new ArrayList<Person>(); persons.add(new Person("zhangss",12,23)); persons.add(new Person("xiaoxiao",45,21)); persons.add(new Person("zhagnni",10,47)); File file=new File(getContext().getFilesDir().toString(),"person.xml"); FileOutputStream out=new FileOutputStream(file); new PersonService().save(persons, out); }
使用Pull解析器生成XML文件,布布扣,bubuko.com
原文:http://www.cnblogs.com/wdc224/p/3920715.html