0
我試圖解析我的Facebook消息歷史記錄,因爲我感興趣的是誰使用哪些詞,並且多長時間一次以及類似的東西。獲取包含具有某個值的節點的節點的下一個節點
這是一個節點,表示兩個人(瑪麗和約翰)之間的對話結構:
<div class="thread">
Mary Smith, John Smith
<div class="message">
<div class="message_header">
<span class="user">Mary Smith</span>
<span class="meta">Saturday, October 12, 2013 at 12:53am UTC+02</span>
</div>
</div>
<p>Hello, how are you?</p>
<div class="message">
div class="message_header">
<span class="user">John Smith</span>
<span class="meta">Saturday, October 12, 2013 at 12:55am UTC+02</span>
</div>
</div>
<p>I am fine, thank you for asking.</p>
</div>
我要取它的作者是瑪麗(使用XPath)的所有消息。我可以承認,事情是由瑪麗寫的消息,因爲它是在一個p
message
具有message_header
類的子類div
具有span
孩子user
類,其內容包括「瑪麗」的類的div
後。
我嘗試:
//div[@class="thread"]/p[preceding-sibling::div[@class="message"][div[@class="message_header"][span[@class="user"][contains(., "Mary")]]]]
這可能是也可能不是正確的,但它是不可用的,因爲它的速度太慢。 有沒有更聰明的方法來寫這個查詢?
哦,我正在使用Ruby + Nokogiri解析文檔,但我不確定這是否相關。
最後一個選項是快它的工作原理。謝謝。 – iCanLearn