<?php
$html = new DOMDocument();
$html->loadHtmlFile( 'report.html' );
$xpath = new DOMXPath( $html );
$results = $xpath->evaluate('/html/body/div/table[2]/tr/td[3]');
foreach ($results as $result)
{
{
echo $result->nodeValue."\r\n";
}
}
?>
返回
GTkio94312
10/24/2011 10:21:45
01:19:46
我试过
echo $result->nodeValue->item[0];
只能获得
GTkio94312
但它返回一个空行。哪里是我的错?
答案 0 :(得分:2)
->nodValue
返回一个简单的字符串,而不是一个对象。任何给定节点只有一个nodeValue,因此没有->item[...]
子对象/子数组来从中检索其他数据。
$results->item(0)->nodeValue; // correct - nodevalue of first result node in results object
^---note the S
$result->item(0)->... // incorrect - result is a single node
xpath的query()返回一个DOMNodeList。在该列表上执行foreach将返回xpath查询找到的各个DOMNode对象。每个DOMNode都有一个nodeValue属性,该属性是节点作为字符串的内容。