/设置生成xml编码格式 serializer.startDocument(UTF-8, false); //设置xml 命名空间和根元素,任何元素都用这种方式创建 serializer.startTag(null, classes); //设置group的属性,设置元素的属性 serializer.attribute(null, name, 一年级); //创建XML元素的值 serializer.text(语文80); //创建XML元素结束 serializer.endTag(null, person);
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(); } }
生成xml是没有格式化的,也就是没有换行,制表符等格式化的以下辅助符号
<?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>