풀로 XML 파일을 생성하는 것은 매우 간단합니다.
//생성된 xml 인코딩 형식 설정
serializer.startDocument("UTF-8", false);
// xml 네임스페이스 및 루트 요소를 설정하면 모든 요소가 이런 방식으로 생성됩니다.
serializer.startTag(null, "classes");
//그룹의 속성을 설정하고 그룹의 속성을 설정합니다. 요소
serializer.attribute(null, "name", "first grade");
//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 파일 위치 생성:
위 내용은 android pull xml 파일 생성 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!