1

HTMLファイルを読んで、その中のいくつかのタグを検索する必要があります。結果に基づいて、一部のタグを削除し、他のタグを変更し、場合によっては一部の属性を調整して、ファイルを書き戻す必要があります。

NSXMLDocumentは進むべき道ですか?この場合、パーサーが本当に必要だとは思いません。それはさらに多くの作業を意味する可能性があります。そして、私はファイル全体に触れたくありません。私がする必要があるのは、ファイルをメモリにロードし、いくつかの変更を加えて、再度保存することだけです。

XHTMLではなくHTMLを扱うことに注意してください。それはNSXMLDocumentの問題でしょうか?一致しないタグや閉じていないタグがあると、機能しなくなる可能性があります。

4

3 に答える 3

4

NSXMLDocument がその方法です。そうすれば、Xpath/Xquery を使用して必要なタグを見つけることができます。不適切な HTML は問題になる可能性がありますが、NSXMLDocumentTidyHTML を設定することはできます。それが本当に不適切でない限り、問題はありません。

于 2011-05-25T13:40:37.007 に答える
1
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 を使用する利点が何であるかは正確にはわかりませんが、これは完全に機能するはずです。

于 2011-05-25T13:42:26.730 に答える
1

NSXMLDocumentHTML ページが適切に形成されていないという事実のために失敗する可能性がありますが、ここで概説されているようにNSXMLDocumentTidyHTML/を試して (結果を改善するために両方を使用できます) 、HTML を変更する際の日焼けのアプローチを見てくださいNSXMLDocumentTidyXML

于 2011-05-25T13:46:03.713 に答える