pull은 xml 파일을 생성하는 데 매우 간단합니다.
/设置生成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");
위 메서드의 첫 번째 매개변수는 xml 네임스페이스입니다.
다음은 단순 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(); } }
생성된 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>
위 내용은 안드로이드 풀로 생성한 xml 파일의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!