2

HTML ページtdの 9 番目の要素をすべて取得したいと考えています。table

私はこれで始めましたが、それを終了する方法がわかりません:

define('GLPI_ROOT', '..');
$content = GLPI_ROOT . "/front/yourpage.html";
$dom = new DOMDocument();
@$dom->loadHTML($content);      
$xpath = new DOMXPath($dom);

$attbs = $xpath->query("//table td");
foreach($attbs as $a) { 
    print $a->nodeValue;
}

そして、私もこれを試しましたが、うまくいきませんでした:

$dom = new DOMDocument();
$dom->loadHTMLFile("yourpage.html");
$tables = $dom->getElementsByTagName('table');
$table = $tables->item(8);

foreach ($table->childNodes as $td) {
  if ($td->nodeName == 'td') {
    echo $td->nodeValue, "\n";
    echo "<script type=\"text/javascript\"> alert('".$td->nodeValue."');</script>";
  }
}

私はこのエラーが発生しています:

Warning: DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in yourpage.html, line: 33
4

1 に答える 1

1

XPathがどのように機能するかを理解していないように見えるため、最初のものは機能しませんが、2番目のものがおそらくより良いオプションです。

とは言うものの、<td>これまでに最初のレベルの子供だったのは<table>いつですか?getElementsByTagNameでもう一度使用できますが$table、これは非常にうまく機能します。

于 2013-02-22T18:11:56.457 に答える