您的位置:首页 > 其它

使用DefaultHandler无法完全解析XML的CDATA数据的问题

2011-10-19 22:47 381 查看
android通过继承DefaultHandler来实现对xml的sax解析,但是今天发现了一个问题,解析一个特定的xml的CDATA部分时,CDATA数据被拆分成了两部分。

断点跟踪代码,发现解析CDATA数据时,characters()方法被调用了两次。

在StackOverflow搜索发现其他人也有类似的问题,原来类DefaultHandler实现的接口ContentHandler中characters()有如下说明

SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks


于是在endElement()的时候,将解析的两部分CDATA数据连在一起,搞定

stackoverflow中帖子的链接http://stackoverflow.com/questions/5048759/defaulthandler-class-in-android-doesnt-read-entire-string-from-xml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐