因为项目要解析HTML文件,再HTML文件转换一下子,在TextView中展示,相当于做一个小型的浏览器了..
将AttributeString转换为HTML文件输出.
将HTML文件转换为AttributeString输入.
HTML输入需要用NSXMLParser进行解析.
但是问题来了!
NSXMLParser不能解析nbsp;和copy;这种特殊符号,google了一下,说是在HTML文件的第一行加上
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE naughtyxml [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
]>
或者
<?xml version="1.0"?>
<!DOCTYPE data PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
这样虽然NSXMLParser代理方法不报错了,不过它貌似没提供代理方法说那个地方出现了这种符号.
走投无路还是选择了OCGumbo,谷歌的这个开源库.
亚哈雷HTML解析就得交给HTML解析框架去做啊.
方法二
可以先读HTML,然后批量替换这些特殊字符,nbsp,copy啊什么的,都替换正确了.然后再用XMLParser扫描.
网友评论