Home >Backend Development >XML/RSS Tutorial >android pull creates xml file
pullCreating xml files is very simple,
//Set the generated xml encoding format
serializer.startDocument("UTF-8", false);
//Set xml Namespace and root element, any element is created in this way
serializer.startTag(null, "classes");
//Set the attributes of the group and set the attributes of the element
serializer.attribute(null, "name", "First grade");
//Create the value of the xml element
serializer.text("Chinese 80");
//End of creating xml element
serializer.endTag(null, "person");
The first parameter of the above method is xml namespace.
The following is the code to generate simple xml:
private void pullCreateXml(){ try { OutputStream outStream = openFileOutput("sax.xml", Context.MODE_PRIVATE); XmlSerializer serializer = Xml.newSerializer(); //输出流的编码格式 serializer.setOutput(outStream, "UTF-8"); //设置xml文件的编码格式, /*第二个参数trues生成 tandalone='yes' * false 则生成tandalone='no' * 值 no 表示这个 XML 文档不是独立的而是依赖于外部所定义的一个 DTD. * 值 yes 表示这个 XML 文档是自包含的(self-contained). */ serializer.startDocument("UTF-8", false); //设置xml 命名空间和根元素 serializer.startTag(null, "classes"); serializer.startTag(null, "group"); //设置group的属性 serializer.attribute(null, "name", "一年级"); serializer.attribute(null, "num", "10"); serializer.startTag(null, "person"); serializer.attribute(null, "name", "小明"); serializer.attribute(null, "age", "7"); serializer.startTag(null, "chinese"); serializer.text("语文80"); serializer.endTag(null, "chinese"); serializer.startTag(null, "english"); serializer.text("英语80"); serializer.endTag(null, "english"); serializer.endTag(null, "person"); serializer.endTag(null, "group"); serializer.endTag(null, "classes"); //数据写入到xml文件中 serializer.flush(); //关闭流 outStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
The generated xml is not formatted, that is, there is no formatting such as line breaks, tabs, etc. The following auxiliary symbols
##
<?xml version='1.0' encoding='UTF-8' standalone='no' ?> <classes> <group name="一年级" num="10"> <person name="小明" age="7"> <chinese>语文80</chinese> <english>英语80</english> </person> </group> </classes>
generate xml file location: