Objective c 操作HTML
我需要阅读一个HTML文件,并在其中搜索一些标记。根据结果,需要删除一些标记,更改其他标记,并可能细化一些属性,然后将文件写回 NSXMLDocument是一条出路吗?我不认为在这种情况下真的需要解析器,它甚至可能意味着更多的工作。我不想触碰整个文件,我所需要做的就是将文件加载到内存中,更改一些内容,然后再次保存Objective c 操作HTML,objective-c,cocoa,macos,osx-snow-leopard,nsxmldocument,Objective C,Cocoa,Macos,Osx Snow Leopard,Nsxmldocument,我需要阅读一个HTML文件,并在其中搜索一些标记。根据结果,需要删除一些标记,更改其他标记,并可能细化一些属性,然后将文件写回 NSXMLDocument是一条出路吗?我不认为在这种情况下真的需要解析器,它甚至可能意味着更多的工作。我不想触碰整个文件,我所需要做的就是将文件加载到内存中,更改一些内容,然后再次保存 注意,我将处理HTML,而不是XHTML。这可能是NSXMLDocument的问题吗?可能一些不匹配的标记或未关闭的标记会使它停止工作。NSXMLDocument是一种方法。这样,您就
注意,我将处理HTML,而不是XHTML。这可能是NSXMLDocument的问题吗?可能一些不匹配的标记或未关闭的标记会使它停止工作。NSXMLDocument是一种方法。这样,您就可以使用Xpath/Xquery查找所需的标记。糟糕的HTML可能是一个问题,但您可以设置NSXMLDocumentTidyHTML,除非它真的很糟糕,否则应该可以 NSXMLDocument是一条路要走。这样,您就可以使用Xpath/Xquery查找所需的标记。糟糕的HTML可能是一个问题,但您可以设置NSXMLDocumentTidyHTML,除非它真的很糟糕,否则应该可以
NSRange startRange=[string rangeOfString:@”“;
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];
NSRange endRange=[string rangeOfString:@”“];
NSString*subStr=[string subStringWithRange:NSMakeRange(startRange.location+startRange.length,endRange.location startRange.location startRange.length)];
NSString*finalStr=[stringbyreplacingoccurrencesofstring:substr];
然后将finalstr写入该文件
这就是我要做的,请注意,我并不确切知道使用NSXMLDocument的优点是什么,这应该可以做到完美。NSRange startRange=[string rangeOfString:@”“;
NSRange endRange=[string rangeOfString:@”“];
NSString*subStr=[string subStringWithRange:NSMakeRange(startRange.location+startRange.length,endRange.location startRange.location startRange.length)];
NSString*finalStr=[stringbyreplacingoccurrencesofstring:substr];
然后将finalstr写入该文件
这就是我要做的,请注意,我不知道使用NSXMLDocument的好处是什么,这应该可以做到完美。
NSXMLDocument
可能会失败,因为HTML页面的格式不好,但您可以尝试使用NSXMLDocumentTidyHTML
NSXMLDocumentTidyXML
(您可以使用这两种方法来改进结果)正如所述,还可以查看修改HTML的tan方法。NSXMLDocument
可能会失败,因为HTML页面的格式不正确,但您可以尝试使用NSXMLDocumentTidyHTML
/NSXMLDocumentTidyXML
(您可以使用这两种方法来改进结果)如所述,还可以查看修改HTML时的晒黑方法