この質問のiOS部分は本当に重要だとは思っていませんが、ちょうどその部分を安全に追加すると思っていました。私はアプリケーションのいくつかのHTMLを解析しようとしています(クライアントはWebビューを使用する代わりにHTMLを解析したい)、別の質問から見つけたhippleコードを検索のためのXPathフォーマットとともに使用しています。私はXpathにはかなり慣れていますが、実際に使ったことはありませんが、理解し始めていますが、HTMLの一部を取得しようとしています(私は必要なものをすべて検索して見つけることができます)。ソースHTMLファイルからは、pタグに囲まれていますが、pタグ内にはhref '、em、br "などのようないくつかの他のノードも存在する可能性があります。またdivクラスの中に囲まれていて、divクラスの下にあるすべての要素をp内に引き出すことができるかどうかを確認しようとしましたが、今のところ私は必要なものを得ることができません。 HTMLはどのように見えるかの迅速なサンプル。iOSでXpathを使用してPタグ内のすべての要素を見つける
<div class='post'><p> This is some sample text that also includes a <a href="www.link.com">Sample Link</a> and also some <em>formatted</em> text.<p><p> A New line may also be present</p></div>
は、だから私は本当に得るために必要なものをいくつかのケースでは、よりがあるかもしれないので、divのクラス内のすべての<p>
のタグである。私は私の最新の試みで//div[@class='body']/p[text()]
を試みたが、それはどちらもうまくいかなかったので、ポストから期間を引いただけです。
私はすべてのポストをアプリケーションで使用されるNSStringに変換したいすべてを取得した後、XPath検索フォーマットを正しく取得すると、私はかなり多くのことを行うことができます。ありがとう。
EDIT: ここでは、私が最初にXpath検索を実行してから結果を文字列に変換するために使用しているiOSのコードを示します。多分私は何か間違ったことをしているのかもしれない。
NSArray *foundPosts = [xpathParser search:@"//div[@class='post']//p//node()"];
TFHppleElement *postelement = [foundPosts objectAtIndex:0];
NSString *Posts = [postelement content];
「// div [@ class = 'post'] // p'のような本当に簡単なXPathのようです。どうしたの? –
あなたの述語は '@ class = 'body''でフィルタリングしますが、あなたが提供するソースのクラス名は' post'です。 –
@lwburk申し訳ありませんが、これは単なる型だったので、私はちょうど、パースされたタグに含まれる可能性のあるものの簡単な例を挙げたいと思いました –