0
我剛剛學習如何使用nokogiri寶石紅寶石程序。紅寶石nokogiri解析解析
doc.xpath("//*[@class='someclass']//@href")
將返回HTML中某處「someclass」類下的所有href值。
doc.xpath("//*[@class='someclass']").xpath("//@href")
將返回整個HTML中的所有href。
有人能向我解釋怎麼會有人去XPath中使用// @相當於例如,解析數據中,以便像:
doc.xpath("//*[@class='someclass']").xpath(grab all the href within previously parsed)
是可能的嗎?
使用*,@似乎是相當強大的,但我不能似乎能夠縮小下來,除了通過完整的HTML,無論我用它搜索..
作爲一個初學者,我只是認爲這將是..直觀?要能夠使用「搶來自世界各地的」類型的語法限制在之前已經分析來縮小我的目標,所以我可以做這樣的事情
xpath(whatever).css(whatever).xpath(whatever)
也許這不是一個好的做法呢?也許更多的理解解析概念,我永遠不會這樣做?有時候我發現使用XPath和CSS更容易..
希望有人能賜教..
非常感謝您的快速回答和反饋。我的主要來源是w3school。您是否在意推薦用於學習XPath的任何書籍或資源?將不勝感激..我打算使用XPath很多! – Rok
@Rok:好問題。在過去,我發現w3schools過於簡單化並且經常誤導,但有些帳戶已經改進(http://www.w3fools.com)。無論如何,http://stackoverflow.com/questions/5372312/what-is-an-excellent-xpath-reference-for-learning-correct-usage-of-the-syntax給出了一些好看的地方。 – LarsH
看起來夠開始!謝謝=] – Rok