安卓开发-Xml序列化器和Pull解析器

1.xml序列化器生成xml文件:

//1.初始化xml序列化生成器
XmlSerializer xmlSerializer = Xml.newSerializer();

//2.告诉序列化工具文件的存储位置
FileOutputStream fos = openFileOuput(“qqinfo.xml”,Context.MODE_WORLD_READABLE);
//3.序列化器绑定输出流
xmlSerializer.setOutput(fos,”utf-8”);

//4.开始编写xml格式数据
//告诉序列器开始写文档
xmlSerializer.startDocument(“utf-8”, true);
xmlSerializer.startTag(“”, “map”);//<map>

xmlSerializer.startTag(“”, “passport”);
xmlSerializer.text(passport);
xmlSerializer.endTat(“”, “passport”);//<passport>text</passport>

xmlSerializer.endTag(“”, “map”);
xmlSeiralizer.endDocument();

2.Pull解析器(和SAX解析一样,是基于事件驱动的):

//1.获取Pull解析器
XmlPull pullParser  = Xml.newPullParser();
//2.将输出流和pull解析器绑定
FileInputStream fis = Context.openFileInput(“qqinfo.xml”);
pullParser.setInput(fis, “uft-8”);

//3.得到事件的类型
int eventType = pullParser.getEventType();
//4.在while中去获取数据
while(eventType != XmlPullParser.END_DOCUMENT){
       if(eventType == XmlPullParser.START_TAG && pullParser.getName().equals(“passport”) ){
         result += “passport = ” + pullParser.nextText();
          }
        }
      eventType = pullParser.next();
  }


pullParser.next():返回下一个事件的类型
pullParser.getName():获取标签名
pullParser.nextText(): 得到某个标签后的值

3.将一个Android项目工程中,assets中的weather.xml文件解析到textView中:

//1.获取AssetManager资源管理器,用它打开输入流
AssertManager assets = getAssets();
InputStream fis = assets.open(“weather.xml”);
//2.创建Pull解析器,并与打开的文件输入流绑定
XmlPullParser pullParser = Xml.newPullParser();
pullParser.setInput(fis, “utf-8”);

//3.获取当前的事件类型
int eventType = pullParser.getEventType();
//4.在while中去获取数据
while(eventType != XmlPullParser.END_DOCUMENT){
      if(eventType == XmlullParser.START_TAT && pullParser.getName().equals(“string”)){
           result += pullParser.nextText() + “\n”;
       }
        eventType = pullParser.next();
 } 
//5.设置数据到TextView中:
mTextView.setText(result);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值