我需要一些表值作为php脚本中的String。
HTML文件看起来像:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
...
<body>
....
<div class="page">
<div class="content">
<div class="left">
<table class="info_table">
<tbody>
<tr id="info_id_352">
<td class="info_iddata"><a href="Ice-Tea">Icetea</a></td>
<td style="width: 32px;"><div class="enough_available"></div></td>
<td class="drink-status drink-enoughavailable">Available</td>
</tr>
</tbody>
</table>
...
</div>
</div>
</div>
</body>
</html>
这里我需要以下XML标记和值:
发件人:
- a-href-link的值(在本例中为值"Icetea")
- 第二个字段的xml标记(在本例中为"enough_available")
- xml标记和第三个字段的值(此处:"drink status drink enoughavailable"answers"Available"
我用以下行尝试了这个(第一个值"IceTea"):
$pagestring = file_get_contents("./index.html");
$drinkxml = new DOMDocument();
$drinkxml->loadHTML($pagestring);
$drinkxml->getElementsByTagNameNs('info_id_352', '*') as $tr ;
echo current($tr->getElementsByTagName('a'))->nodeValue;
使用这些行,我在shell上得到以下php错误:
PHP Parse error: syntax error, unexpected T_AS in /home/phpscripts/bin/drinkstatus/php/drinkstatus.php on line 44
有人提示过要获取xml值和类名吗?
$drinkxml->getElementsByTagNameNs('info_id_352', '*') as $tr ;
是语法错误,因为"as"不是foreach条件之外的关键字。尝试分配tr:
$tr = $drinkxml->getElementsByTagNameNs('info_id_352', '*');
GetElementsByTagNameNs返回一个节点列表对象,因此它应该适用于下一个方法调用。
http://php.net/manual/en/domelement.getelementsbytagnamens.php
我假设错误第44行指向这一行:
CCD_ 1。
你不能用那种方式使用"as"。如果您正在创建一个FOR EACH循环,那么您可能希望这样做。但除此之外,纳达。
请尝试创建一个变量。。。将上面的行替换为下面的行:
$tr = $drinkxml->getElementsByTagNameNs('info_id_352', '*');