【发布时间】:2011-09-18 10:07:35
【问题描述】:
我正在做一些 HTML 抓取,但这个查询碰了壁。我正在尝试从以下 HTML 页面结构返回一组值:
<div id="product-grid">
<ul>
<li><div class="price">Cash Price: $20.00</div></li>
<li><div class="price">Cash Price: $30.00</div></li>
<li><div class="price">Cash Price: $40.00</div></li>
</ul>
</div>
我正在尝试在列表中返回 "$20.00" 价格。如果我使用以下 XPath:
id('product-grid')//p[@class="price"]
我得到所有“现金价格:40.00 美元”的结果列表。如果我尝试以下查询:
substring-after(id('product-grid')//p[@class="price"] , "Price: ")
我得到了正确的输出,但只得到了第一个结果。有谁知道我怎样才能得到所有结果?
我正在为XPath 运行PHP5.3.3 和libxml 2.7.8。我按如下方式调用 xpath:
$xpath = new DOMXPath( $html );
$resultset= $xpath->query($query);
我一直在疯狂地搜索,试图找出为什么会发生这种情况!请帮忙!
【问题讨论】: