如何使用x-path提取此值?

时间:2011-02-04 17:57:33

标签: php dom xpath domdocument

来源HTML

  <div class="number value">14,818</div>
              <div class="number delta-negative">
                     -10.19%</div>
    <div class="number value">58,016</div>
              <div class="number delta-positive">          
                    +44.38%</div>
     <div class="number value">119,561</div>
              <div class="number delta-negative">           
                    -11232</div>

代码

$doc = new DomDocument(); 
$doc->loadHTMLFile('http://example.com/source.html/');
$xpath = new DomXpath($doc);  
$query = '//div[@class="number value"]//'; 
$nodes = $xpath->query($query);  
$urls = array();  
foreach ($nodes as $node) { 
$href = trim($node->nodeValue);
$urls[] = $href;}
$datap = implode(',', $urls); 
echo $datap;

我想提取值 14,818 57,516 119,561 ,但上面的代码不起作用......为什么?

1 个答案:

答案 0 :(得分:0)

当您的HTML显示class="number_value"时,您的查询适用于class="number value"

更改其中一个(可能是HTML)以反映这一点。(编辑问题以纠正错误。)


编辑:

运行查询会导致无效的查询错误。查看您的查询,很明显为什么 - 您有两个尾部斜杠。这些都是无效的,没有任何跟随它们。

试试这个:

$query = '//div[@class="number value"]';