解析XML内容是Android中经常会用到的技术,下面说说在解析XML过程中碰到html标签的问题。
1 ShelWee http://www.shelwee.com?a=1&b;=2 Hello World!
这是一段简单的xml代码,如果直接解析的话可能会出现两个问题。
一、系统在解析到url这个节点时,解析器会把字符“&”解释为字符实体的开始;
二、系统在解析到content节点的时候也会报错,提示节点不完整。因为解析器会content节点的字符“<”误认为新元素的开始,所以非法的XML字符必须用实体引用替换。
那该如何避免呢?如果给url和content节点的内容加个CDATA让解析器忽略解析呢?
1 ShelWee
这样的话,解析完后url的问题得到了完美的解决,而content节点将会直接把输出:Hello World!
。如果是一段html代码呢,有一堆的
Android SDK提供了Html类,可直接解析html代码,完美的解决了这个问题。只需将html代码传入parseHtml方法即可得到目标内容,parseHtml方法如下
public static String parseHtml(String str){ return Html.fromHtml(str).toString(); }