我怎样才能得到特定类的TD NodeValue? [英] How i can get td nodeValue with specific class?
本文介绍了我怎样才能得到特定类的TD NodeValue?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下html表:
<table>
<tr>
<td><img src="name0.gif" alt="Name0" /></td>
<td <img src="name1.gif" alt="Name1" /></td>
<td <img src="name2.gif" alt="Name2" /></td>
<td <img src="name3.gif" alt="Name3" /></td>
<td <img src="name4.gif" alt="Name4" /></td>
</tr>
<tr>
<td class="name_con" >Name0</td>
<td class="name_con" >Name1</td>
<td class="name_con" >Name2</td>
<td class="name_con" >Name3</td>
<td class="name_con" >Name4</td>
</tr>
</table>
如何使用class ="name_con"获得nodeValues ??
how I can get nodeValues with class="name_con"??
我只知道从基本格式中获取所有td:
I only know get all td from basic form:
$dom = new DOMDocument();
$dom->loadHTMLFile($web);
$tables = $dom->getElementsByTagName('td');
//I want create a new table from max to min.
echo "<table>";
//this for is only for testing
for ($i = 9; $i > 0; $i--){
$table = $tables->item($i);
echo "<tr><td>".$table->nodeValue."</td></tr>";
}
echo "</table>";
推荐答案
使用 getAttribute()
:
for ($i = 9; $i > 0; $i--){
$table = $tables->item($i);
if ($table->getAttribute('class') == 'name_con') {
echo "<tr><td>".$table->nodeValue."</td></tr>\n";
}
}
这也可以通过 XPath 表达式来实现:
This is also possible with an XPath expression:
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//td[contains(@class,"name_con")]');
echo "<table>";
foreach ($nodes as $node) {
echo "<tr><td>".$node->nodeValue."</td></tr>\n";
}
echo "</table>";
这篇关于我怎样才能得到特定类的TD NodeValue?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文