操作HTML

| 我需要阅读一个HTML文件并在其中搜索一些标签。根据结果​​,需要删除一些标签,更改其他标签,甚至可能完善一些属性,然后将其写回。 NSXMLDocument是要走的路吗?我认为在这种情况下确实不需要解析器,它甚至意味着更多的工作。而且我不想触摸整个文件,我要做的就是将文件加载到内存中,更改某些内容,然后再次保存。 请注意,我将处理HTML,而不是XHTML。对于NSXMLDocument来说可能是个问题吗?某些不匹配的标签或未关闭的标签可能会使它停止工作。     
已邀请:
NSXMLDocument是必经之路。这样,您可以使用Xpath / Xquery查找所需的标签。错误的HTML可能是一个问题,但是您可以设置NSXMLDocumentTidyHTML,除非确实很糟糕,否则应该可以。     
NSRange startRange = [string rangeOfString:@\"<htmlTag>\"];
NSRange endRange = [string rangeOfString:@\"</htmlTag>\"];
NSString *subStr = [string subStringWithRange:NSMakeRange(startRange.location+startRange.length, endRange.location-startRange.location-startRange.length)];
NSString *finalStr = [string stringByReplacingOccurencesOfString:substr];
然后将finalstr写入文件。 这就是我要做的,请注意,我并不完全知道使用NSXMLDocument的好处是什么,这应该做得很好。     
HTML1ѭ可能会失败,因为HTML页面的格式不正确,但是您可以尝试按此处概述的
NSXMLDocumentTidyHTML
/
NSXMLDocumentTidyXML
(可以同时使用它们来改善结果),也可以尝试一下棕褐色的修改方法HTML。     

要回复问题请先登录注册