2012-08-06 65 views
0

我使用這個XPath表達式//*[@id='info_box']/p[contains(., 'Drafted')]至極給作爲輸出:http://pastebin.com/kRmCadiw(與原始格式原始輸出)記號化與XPATH/XQuery的<br/>

我要的是最後<br>後能得到的所有文字,所以我使用:data(tokenize(//*[@id='info_box']/p[contains(., 'Drafted')], '\s*<br\s*/?>\s*')[last()])但它仍然在<p>(count(...)= 1)中給出全文,即使嘗試使用簡單的'
'...我不明白缺失的是什麼!

的預期結果是:Drafted by the San Francisco 49ers in the 2nd round (33rd overall) of the 2005 NFL Draft.

回答

1

搜索最後<br/>然後用following-sibling軸步進發現後,所有元素。由於您還需要不在元素中的文本節點,請使用節點測試node()。由於您只需要數據,而不是標記,因此請致電data()

/p/br[last()]/following-sibling::node()/data() 

(由於您沒有提供任何數據。例如,我開始在張貼到引擎收錄中間輸出,請添加在開始自己查詢的第一個步驟。)