如何从评论列表中获取前五个图像

时间:2016-06-14 00:24:37

标签: xpath

我需要帮助才能从评论列表中获取第一批图片。我必须得到前五位评论家的第一张图片。评论看起来像这样。

<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张。

基本上,我只需要为每位评论者提供一张图片,无论是来自主评论还是其他评论都无关紧要。

提前谢谢你!

2 个答案:

答案 0 :(得分:1)

试试这个://div/dl[position()<6]/dd/ul/li[1]/img

你必须从你的xml中获取dl而不是div的位置。

答案 1 :(得分:0)

试试这些:

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