我需要找到属于这个ul的所有图像的src。我正在使用xpath来做到这一点。但它只返回第一张图像的src。如何获得所有src?这是我的HTML结构。
<ul id="product-slider">
<li >
<img src="1.jpg" width="310" height="363" />
</li>
<li>
<img src="2.jpg" style="opacity: 1;">
</li>
<li>
<img width="310" height="363" src="3.jpg">
</li>
</ul>
这是我的代码段。
$img = $xpath->query("//ul[@id='product-slider']//img/@src");
foreach($img as $i){
echo $i->nodeValue;
}
除了第一个,它没有找到所有图像的src。 有人可以提供一些帮助吗?
答案 0 :(得分:1)
要获取此src
中所有图像的列表(实际上是ul
属性中的所有值),在您的情况下,您可以使用XPath Axes:
//ul[@id='product-slider']/descendant::img/@src
这是做什么的:
/ul[@id='product-slider']
选择带ul
的{{1}}元素
id='product-seller'
从/descendant::img
ul
选择每个后代的/@src
属性。
XPath Axes是一个很棒的工具,你可以在这里找到更多关于它的信息:http://www.w3schools.com/xpath/xpath_axes.asp(我知道它们不是所有内容中最可靠的来源,但是这个XPath教程是一个很好的介绍)。
编辑:使用来自键盘的OP新代码段作为示例:
来自Snapdeal Link的源代码中的捕获元素以下src
,其中只有第一个ul
标记包含img
属性。 < / p>
src