加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用XmlResourceParser解析xml

发布时间:2020-12-16 08:07:52 所属栏目:百科 来源:网络整理
导读:Android 中解析xml的方式有四种:DOM、SAX、Pull(使用的是XmlPullParser类进行解析)以及自己提供的XmlResourceParser(这里不确定XmlResourceParser属不属于Pull的一种,所以单独列出来)。 使用方式: XmlPullParser : XmlPullParser xmlPullParser = Xml.new

Android 中解析xml的方式有四种:DOM、SAX、Pull(使用的是XmlPullParser类进行解析)以及自己提供的XmlResourceParser(这里不确定XmlResourceParser属不属于Pull的一种,所以单独列出来)。

使用方式:

XmlPullParser:

XmlPullParser xmlPullParser = Xml.newPullParser();
InputStream is = null;
try {
is = context.getResources().getAssets().open("emoji_properties.xml") ;
//2.设置XmlPullParser的参数
xmlPullParser.setInput(is,"utf-8");
eventType = xmlPullParser.getEventType();

...

catch(Exception e){

e.printStackTrace();

}finally {

if (null != is){
try {
is.close();
}catch (IOException e){
e.printStackTrace();
}
}
}


XmlResourceParser:

XmlResourceParser xmlResourceParser = context.getResources().getXml(R.xml.emoji_properties);
try {
eventType = xmlResourceParser.getEventType();

}catch(Exception e){

e.printStackTrace();

}finally{

xmlResourceParser.close();

}

注:省略的部分,两者代码一致

Android中的布局文件就是使用XmlResourceParser 进行解析的,而且写法也简便很多,大部分情况下是可以使用的。

但是当xml文件中包含特殊字符时需要酌情使用,比如当其中包含单引号时会导致解析失败,例如: /::'( 会被解析成 /::

这个问题不是一定的,比如我的测试代码和项目中的代码连同配置文件的版本都一致,但测试代码好使,项目就是不好使,

还望知道原因的留言告知。

所以酌情使用...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读