使用DefaultHandler无法完全解析XML的CDATA数据的问题
2011-10-19 22:47
381 查看
android通过继承DefaultHandler来实现对xml的sax解析,但是今天发现了一个问题,解析一个特定的xml的CDATA部分时,CDATA数据被拆分成了两部分。
断点跟踪代码,发现解析CDATA数据时,characters()方法被调用了两次。
在StackOverflow搜索发现其他人也有类似的问题,原来类DefaultHandler实现的接口ContentHandler中characters()有如下说明
于是在endElement()的时候,将解析的两部分CDATA数据连在一起,搞定
stackoverflow中帖子的链接http://stackoverflow.com/questions/5048759/defaulthandler-class-in-android-doesnt-read-entire-string-from-xml
断点跟踪代码,发现解析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
相关文章推荐
- 处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]>
- 每当数据中有'<'、'&'等特殊字符时,封装的XML就无法解析,CDATA属性帮了大忙
- node.js xmlreader无法获取CDATA区问题修复
- vCenter Server 5 的安装问题:无法使用nslookup解析此完全限定域名
- Android客户端解析web服务器XML数据小问题
- WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
- IE打开xml无法打开问题原理解析
- 解决dom4j无法解析xml命名空间的问题
- Android - 获取网络数据,Bitmap,ANR,主线程模型,消息机制,UserAgent,乱码问题,xml生成与解析,JSON解析,MVC,SmartImageView
- WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
- GCDAsyncSocket接收数据连包无法解析的问题
- 全面解析32位Vista、XP系统4GB内存无法完全识别问题
- 传递: xml string到sql server时的sp_xml_preparedocument无法解析问题
- 全面解析,32位系统4GB内存无法完全识别问题
- java解析XML之DOM解析和SAX解析(包含CDATA的问题)
- 传递 xml string到sql server时的sp_xml_preparedocument无法解析问题
- js解析php返回的json数据无法获取length的问题分析
- ScrollView 里面 嵌套ListView 导致listview无法完全显示数据的问题
- IE6中运行EXTJS中某些组件无法解析DOMINO产生的JSON数据问题的解决办法
- Linq to XML用XmlReader读取数据导致无法输出的格式化异常的问题