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