2012-06-04 50 views
1

我是Xpathing我有一個DOMDocument文件。這個DOM文檔的一般模式如下:使用單個XPath查詢檢索(關聯)兩個單獨的標記/屬性?

<h2> Title info </h2> 
<div> .... </div> 
<p> ...</p> 
<div class = format_text> 
    <p> 
    <a href= "http://link..."><img src = "http://sourceofimageOnline.com"></a> 
    </p> 
</div> 
<h2> 2nd title</h2> 
<div> .... </div> 
<p> ...</p> 
<div class = format_text> 
    <p> 
    <a href= "http://link..."><img src = "http://sourceofimageOnline.com"></img></a> 
    <a href = "http://linkanother.."><img src = "http://sourceofimageonline.com"</img></a> 
    </p> 
</div> 

關鍵是要返回標題和爲是超鏈接圖片src屬性。 從本質上講,我呈現爲:

標題1 圖URI 1 標題2 圖URI 2 圖URI 3 ... ..

現在標題可以很容易地使用

檢索

//div[@class = "format_text"]/p/a/img/@src 
DomDocument->getElementsByTagNames('h2') 

而IMG SRC通過XPath查詢檢索

這將返回我需要的所有信息。但是,我正在試圖讓img src與它們所屬的標題相關聯,從而受到挑戰。由於它們是獨立檢索的,因此我無法理解需要執行哪種Xpath查詢來檢索這兩個查詢,以滿足上述約束條件。

回答

1
  1. 取得與XPath表達式的陣列/html/body//h2
  2. 遍歷這個陣列與另一XPath表達式
  3. 指當前h2.,並且是指該第一鏈路與

    ./../div[@class='format_text']/p/a[$counter]/img

XPath表達式wh數字編號爲$counter

+0

感謝您的編輯和解決方案。我簡化了我的工作,因爲我自然沒有將整個HTML文件放在這個頁面中,爲了更加具體到這個解決方案,我的XPath查詢是: '// h2 | // div [@class =「format_text」]/p/a/img/@ src'...我從你那裏得到了管道理念,最好! – user1020069

+0

請將'backticks'添加到 –

+0

以上的代碼片段什麼是反引號?...從來沒有想過的.dumb問題:\ – user1020069

相關問題