Objective c iOS中使用libxml2解析(X)Html的示例

Objective c iOS中使用libxml2解析(X)Html的示例,objective-c,ios,html-parsing,libxml2,Objective C,Ios,Html Parsing,Libxml2,最近,我开始在iOS iPhone项目中使用libxml2库。我读了一些有用的链接,如: 还有一些非常好的帖子: 我设法检索远程html(使用ASIHTTPRequest),并成功地将“didReceiveData”事件上的数据(NSData)推送到一个包装类,该包装类包含使用htmlCreatePushParserCtxt(SAX样式)创建的解析器。我很好地得到了正式文件 和endDocument回调。在“startElement”和“characters”回调中,我打印“localnam

最近,我开始在iOS iPhone项目中使用libxml2库。我读了一些有用的链接,如:

还有一些非常好的帖子:

我设法检索远程html(使用ASIHTTPRequest),并成功地将“didReceiveData”事件上的数据(NSData)推送到一个包装类,该包装类包含使用htmlCreatePushParserCtxt(SAX样式)创建的解析器。我很好地得到了正式文件 和endDocument回调。在“startElement”和“characters”回调中,我打印“localname”参数(constxmlchar)。在控制台中,我看到它找到了“html”,然后是“body”,然后是一些“p”标记,但随后我得到了许多无法识别的字符(有时它看起来甚至像中文


无论如何,在深入了解许多代码细节之前,我想问一下,是否有人有一个在基于objective-c的projet中使用libxml2解析(x)html的工作示例?我试着用谷歌搜索上面提到的两个链接,但直到现在都没有成功。

你为什么要在苹果内置的
NSXMLParser
类上使用
libxml2
?如果你正在为iOS做一个应用程序,那么使用一个基础类比C库更有意义。您可以访问NSXMLParser的文档


如果不想直接使用NSXMLParser,可以尝试使用解析XML,它有一个易于使用的
-(id)initWithData:(NSData*)数据选项:(nsInteger)掩码错误:(NSError**)错误
解析XML数据的方法。您甚至可以使用init方法的
NSXMLDocumentTidyHTML
选项将HTML数据读取为XHTML。

我建议alan quartemain的
AQXMLParser

它是一个围绕libxml2的薄型包装器,比NSXMLParser性能好得多


HTMLMode
属性设置为yes,以便在html模式下使用libxml。。(我使用过很多次,即使是无效的html,它也能很好地使用)

答案可以在我提到的链接的第4段中找到:NSXMLParser占用了大量内存,更重要的是:不喜欢html.NSXMLDocument在ios上不可用,KissXML提供了一个替代品