DTCoreText html解析处理分析(1)
2017-09-07 17:40
507 查看
DTCoreText使用lib'xml2库。DTHTMLParser的主要功能是将libxml2库与DTHTMLAttributeStringBuilder中相应的处理连接起来(通过DTHTMLParser中的_handler和_delegate)。类似如下的处理
void _startDocument(void *context)
{
DTHTMLParser *myself = (__bridge DTHTMLParser*)context;
[myself.delegate parserDidStartDocument:myself];
}
generatedAttributedString解析html生成NSAttributedString
_registerTagStartHandlers。生成各个tag对应的block,将其根据key,value的方式保存在_tagStartHandlers(NSMutableDictionary)中
_registerTagEndHandlers。与_registerTagStartHandlers类似,保存在_tagEndHandlers中
parserdidStartElement 通过GCD的方式异步处理每一个开始的节点
如果当前标记(_currentTag)不存在,则当前节点作为根节点
如果当前标记(_currentTag)存在,则继承父标记的信息。将新标记节点加入的当前节点的子节点序列中,将当前节点设置为新生成的节点,调用在_registerTagStartHandlers中注册的当前tag对应的block处理
parserdidEndElement通过GCD的方式异步处理每一个结束的节点
调用在_registerTagEndHandlers中注册的当前tag对应的block处理
将当前节点的NSAttributedString添加到_tmpString中
移除当前节点所有的子节点
将当前节点的父节点作为当前节点
相关文章推荐
- HTML-Like DTCoreText
- [翻译] DTCoreText 从HTML文档中创建富文本
- Android TextView使用HTML处理字体样式、显示图片等
- Android TextView解析HTML内容
- NSoup解析处理Html
- 解析在Android中为TextView增加自定义HTML标签的实现方法
- (M)Android消息处理机制分析之Handler类解析
- Android TextView使用HTML处理字体样式、显示图片等
- android 在listview上面的Textview实现html解析并且图片异步宽高布局重新适配
- DTCoreText的集成
- android之TextView使用HTML处理字体样式、显示图片等
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Hadoop源码解析之: TextInputFormat如何处理跨split的行
- Ajax请求Servlet返回文本 json html和XML数据并解析xml及responseText和responseXML的区别
- .net解析、下载、处理html辅助类源码
- Asp.net解析HTML并利用XPATH分析提取内容
- Rich HTML CoreText
- 解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
- Zp的Ext学习笔记(一)——坑爹的MVC(html中Extjs配置、proxy代理的前后台交互、json解析、后台处理传入json乱码)
- Android TextView使用HTML处理字体样式、显示图片等