0
简体HTMLPHP DOMXPath给出/ @ ID
<tr>
<td class="orderOverviewAnotherColumn">0177-4066356</td>
<a name="orderTableSorted:orderTable:10:j_id504" id="orderTableSorted:orderTable:10:j_id504" href="#">
</tr>
<tr>
<td class="orderOverviewAnotherColumn">0177-4066357</td>
<a name="orderTableSorted:orderTable:11:j_id504" id="orderTableSorted:orderTable:11:j_id504" href="#">
</tr>
<tr>
<td class="orderOverviewAnotherColumn">0177-4066358</td>
<a name="orderTableSorted:orderTable:12:j_id504" id="orderTableSorted:orderTable:12:j_id504" href="#">
</tr>
<tr>
<td class="orderOverviewAnotherColumn">0177-4066359</td>
<a name="orderTableSorted:orderTable:13:j_id504" id="orderTableSorted:orderTable:13:j_id504" href="#">
</tr>
在PHP中使用下面的代码
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile('448713409.html');
$xpath = new DOMXPath($doc);
$vRes = $xpath->query(".//*[@id='orderTableSorted:orderTable:tbody_element']/tr[contains(.,'4066356')]//a[contains(@id,':j_id504')]/@ID");
foreach ($vRes as $obj) {
$clean[] = $obj->nodeValue;
}
$clink = implode(" ",$clean);
var_dump($clink);
返回空字符串...
string(0) ""
用Firebug的Xpath检查它返回ID“orderTableSorted:orderTable::j_id504”,我需要 找。
任何在正确的方向帮助非常感谢。
实际上在Xpath Checker中,/ @ ID和/ @ id工作。但是你的解决方案做了个伎俩,非常感谢你! – Ozanito 2014-09-20 13:58:20
然后,我认为你应该考虑向Firebug开发者提交一个bug。 – 2014-09-20 14:01:31
仅供参考:当您使用DOMDocument :: loadHTML()时,PHP的** DOMDocument **处于HTML模式,元素和属性名称不区分大小写。这也是'DOMXPath'。 – hakre 2014-10-12 13:09:42