2016-06-14 54 views
0

我需要幫助才能從評論列表中獲取第一張圖片。我必須得到前五名評論者的第一張照片。評論看起來像這樣。如何從評論列表中獲取前五張圖片

<div class='feedback item'> 
    <dl class='buyer-review'> 
     <dd class='photo-list'> 
      <ul> 
       <li> <img> </li> 
       <li> <img> </li> 
       <li> <img> </li> 
      </ul> 
     </dd> 
    </dl> 
    <dl class='buyer-additional-review'> 
     <dd class='photo-list'> 
      <ul> 
       <li> <img> </li> 
       <li> <img> </li> 
       <li> <img> </li> 
      </ul> 
     </dd> 
    </dl> 
</div> 

有時會有額外的審查,有時沒有。有時候,圖片可以在附加評論中找到,而不是在主要評論中。我需要做的只是從每位評論者那裏獲取一張圖片。

我試圖做這樣的事情: //div[position()<6]/dl/dd//ul/li[1]/img 這從第一個五年審閱得到的圖像,但有時如果有主審查和額外審議的圖像返回超過5張圖片。

所以,我試圖做這樣的事情: //div[position()<6]/dl[1]/dd//ul/li[1]/img 但有時如果圖像位於額外的審覈,而不是在主評審返回少於5張圖片。

基本上,我只需要爲每位評論者獲取一張圖片,並且無論是來自主評論還是來自其他評論都無所謂。

謝謝你提前!

+0

得到這個爲現在的工作與此有關。 '(// div/dl [1]/dd/ul/li [1]/img)[position()<6]' –

回答

1

試試這個://div/dl[position()<6]/dd/ul/li[1]/img

你有,因爲它從你的XML似乎採取DL不股利位置。

+0

如果我這樣做了,我會得到5個以上的圖像,因爲它會選擇所有評論者和他們的所有評論(主要和附加)。因此,我可能會爲每位評論者獲得2張圖片,並且會選擇五位以上的評論者。 –

+0

在這種情況下,需要有一個屬性指定圖像來自同一個買家,或者您可以將圖像合併爲一個'dl',否則您需要編寫xsl。 – SomeDude

0

嘗試這些:

(//div[position()<6]//img)[1] 
 
//div[position()<6]/dl[.//img][1]//img