在我繼續傳奇的xpath和提取數據的過程中,我繼續奮鬥。我只需要包含在表格單元格中的兩個值。我可以單獨獲得每個人,但在那裏我無法訪問其他人。我有細胞的,像這樣xpath和提取多個值
<TR>
<TD width="120" align="center" valign="top">
<A href="http://www..yadayada.com"> <!--the href I need to extract-->
<IMG src="http://images.com/items/yada.gif" width="80" height="80" border="1"></A>
<BR>
<B>Random number PT</B><!--the text I need to extract-->
</TD>
我遍歷像這樣:
@$dom = new DOMDocument();
@$dom->loadHTML($rawPage);
@$xpath = new DOMXPath($dom);
@$queryResult = $xpath->query("..../tr/td[contains(b, 'PT') ]/b");
去的HREF鏈接和與之相似,
@$queryResult = $xpath->query("..../tr/td[contains(b, 'PT') ]/a");
得到我所需要的文本。然後我提取像這樣
//for the text in b
foreach ($queryResult as $result)
{
echo $result->textContent . " text content<br>";
}
和鏈接
//for the text in href
foreach ($queryResult as $result)
{
echo $result->getAttribute('href') . " href<br>";
}
我不拉表中的每個TD,這就是爲什麼我匹配/td[contains(b, 'PT') ]
那些有PT在。我已閱讀有關工會和使用/td[contains(b, 'PT') ]/*[self::a or self::b
,但我的每個錯誤與Invalid argument supplied for foreach()
我試過使用nextSibling和所有這一切,它只是空白,當我回聲它。那麼,我怎樣才能從我的表格中獲得這兩個值呢?
在'.../TR/TD [包含(b,'PT')]/b'什麼是'PT'?你的html沒有任何字詞「PT」。 – 2012-07-25 16:36:18
@VamanKulkarni,我在我的文章中糾正了這一點。 – KiloJKilo 2012-07-25 16:46:27