我並不認爲這個問題的iOS部分真的太重要了,但我只是認爲我會添加該部分以保證安全。我試圖解析一些應用程序的HTML(客戶端想要解析HTML而不是使用Web視圖),並使用我從另一個問題中發現的hpple代碼以及用於搜索的XPath格式。我非常喜歡Xpath,從來沒有真正使用它,但我開始瞭解它,但我堅持試圖獲得HTML的一部分(我能夠搜索並找到我需要的一切)。從源HTML文件中,我需要拉的是在ap標籤中,但在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搜索格式正確,那麼我可以在那一部分中完成該操作。謝謝。
編輯: 這是我用來首先執行Xpath搜索,然後將結果轉換爲字符串的iOS中的代碼。也許是在這裏,我做錯了什麼。
NSArray *foundPosts = [xpathParser search:@"//div[@class='post']//p//node()"];
TFHppleElement *postelement = [foundPosts objectAtIndex:0];
NSString *Posts = [postelement content];
這似乎是一個非常簡單的XPath,比如'// div [@ class ='post'] // p'。有什麼問題? –
首先,你的謂詞過濾了'@ class ='body'',但是你提供的源代碼中的類名是'post'。 –
@lwburk對不起,這只是一個類型,我只想給出一個簡單的例子,可以包含在post標籤中需要解析的東西 –