0

私はこのようなhtmlコンテンツを持っています。

<body>
    <div>
        WINDOW<br/>
        DOOR<br/>
    </div>
</body>

タグ内のテキスト内容を抽出したいのですが、div今回のサンプルでは text を取得したいと思いますWINDOW\nDOOR

だから私は以下のコードを書きました。

NSString *html = ...;
TFHpple *parser = [[TFHpple alloc]initWithHTMLData:[html dataUsingEncoding:NSUTF8StringEncoding]];
TFHppleElement *div = [parser searchWithXPathQuery:@"//div"][0];
NSString *text = [div text];

期待どおりに動作しません。上記textのコードは結果WINDOWのみです。DOORとにかく欠けています。

そして、私はかなり苦労して、もう少しコードを書きました。

NSString *html = ...;
TFHpple *parser = [[TFHpple alloc]initWithHTMLData:[html dataUsingEncoding:NSUTF8StringEncoding]];
TFHppleElement *div = [parser searchWithXPathQuery:@"//div"][0];
NSString *text = [div raw];
text = [self stringByStrippingHTML:text];

生の html コンテンツを取得し、すべての html タグを削除して、期待どおりの結果を取得しました。しかし、この方法は少し醜いようです。

それで、私の質問は、html タグ内のすべてのテキスト コンテンツを取得する方法が存在するかどうかです。

ご協力いただきありがとうございます。

4

1 に答える 1

0

これを試してください: https ://github.com/topfunky/hpple

Hpple: HTML を解析するための XPathQuery ライブラリの優れた Objective-C ラッパー。

于 2014-06-13T15:03:22.830 に答える