首页 > 代码库 > Day01—xml的序列化、xml的pull解析

Day01—xml的序列化、xml的pull解析

1.xml的序列化

FileOutputStream os = new FileOutputStream(new File(getFilesDir(),"hai.xml"));

//1、获取xml序列化器

XmlSerializer xmlSerializer = Xml.newSerializer();

 

//2、开始序列化输出流

xmlSerializer.setOutput(os,"utf-8");//os---Outputm,xml文件的写出流,文件的编码格式

 

xmlSerializer.startDocument("utf-8",true);//头,输出开始文档<?xml?version="1.0"?encoding="UTF‐8" standalon?>

 

xmlSerializer.startTag(null,"女帝")//根节点

.startTag(null,"name")//普通节点

.text("hancock")//节点文本

.endTag(null,"name")//结束节点

.startTag(null,"sex")

.text("female")

.endTag(null,"sex")

.endTag(null,"女帝");//根节点

 

xmlSerializer.endDocument();//文档结束

 

os.close();//记得关流

 

2.xml的pull解析

//1.获得xml-pull解析器

XmlPullParser parser = Xml.newPullParser();

//2.将xml-pull解析器与要解析的输入流连接
parser.setInput(is, "utf-8");

//3.获得第一个事件的类型
int type = parser.getEventType();

//4.循环事件类型,遍历每一个节点
while (type != XmlPullParser.END_DOCUMENT) {
if (type == XmlPullParser.START_TAG:) {

//获得这个节点的名字
String name = parser.getName();

//获得这个节点内的文本
String text = parser.nextText();
}else if (type == XmlPullParser.END_TAG:) {


}
//5.使parser的指针指向下一个节点
type = parser.next();
}

Day01—xml的序列化、xml的pull解析