我需要讀取HTML文件並在其中搜索一些標籤。根據結果,一些標籤需要被刪除,其他標籤會被改變,並可能會改進一些屬性 - 然後將文件寫回。操作HTML
是NSXMLDocument的路要走嗎?在這種情況下,我認爲不需要解析器,它甚至可能意味着更多的工作。我不想觸摸整個文件,我只需要將文件加載到內存中,更改一些內容並再次保存。
請注意,我將處理HTML,而不是XHTML。這可能是NSXMLDocument的問題嗎?也許一些不匹配的標籤或不封閉的標籤可能會使其停止工作。
我需要讀取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的優點是什麼,這應該是完美的。