android中xml文件的生成与读取(Pull)

时间:2022-02-10 12:00:26

1.android中是采用Xml文件序列化器生成Xml文件的,

//1得到一个xml文件的序列化器(生成器)

XmlSerializer serializer=Xml.newSerializer();

//初始化一些参数

File file=new File(getFilesDir(),"info.xml");    //android.content.ContextWrapper.getFilesDir()返回值是一个绝对路径

FileOutputStream fos=new FileOutputStream(file);

serializer.setOutput(fos,"utf-8");//这里的utf-8指的是生成这个xml文件是以utf-8这个编码集来写的

//<?xml version='1.0' encoding='utf-8' standalone='yes' ?>

serializer.startDocument("utf-8",true);//这里的utf-8是指xml文件中头部中所有的编码集,这里的true指的是该xml文件是独立存在的

serializer.startTag(null," ");


serializer.endTag(null," ");

serializer.endDocument();



2.

java中解析xml文件有好几种,SAX方式解析就是其中一种,

SAX方式是基于事件的解析,不可倒退却有速度快效率高的特点(相比较DOM方式解析)

android中用XmlPullParser进行解析的

//1得到xml文件的解析器

XmlPullParser parser=Xml.newPullParser();

//2.初始化一些参数

parser.setInput(is,"utf-8");//is是要解析的InputStream流

//3.得到当前节点的事件类型

int type=parser.getEventType();

while(type!=XmlPullParser.END_DOCUMENT){

   switch(type){

case XmlPullParser.START_TAG:

  if(""){

}

break;

case XmlPullParser.END_TAG://解析到了结束的标签

  if(""){

}

break;

}

typr=parser.next();

}