Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 操作HTML_Objective C_Cocoa_Macos_Osx Snow Leopard_Nsxmldocument - Fatal编程技术网

Objective c 操作HTML

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文件,并在其中搜索一些标记。根据结果,需要删除一些标记,更改其他标记,并可能细化一些属性,然后将文件写回

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时的晒黑方法