1

外部の.datファイル内にあるhtmlを解析しようとしています。

通常、次のコードを使用します。

$html = new DOMDocument();
$html->loadHTMLFile('http://www.bvl.com.pe/includes/cotizaciones_todas.dat');
$xpath = new DOMXPath($html);
$path = '/somepath';
$nodelist = $xpath->query($path);
echo $nodelist->item(0)->nodeValue;

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

DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in http://www.bvl.com.pe/includes/cotizaciones_todas.dat, line: 15

問題が であることはわかっています。 orloadHTMLFileを使用してみましたが、どちらも機能していません。どんな助けでも感謝します。loadloadXML


アップデート

この問題を解決するには、 を使用してエラーを処理する必要がありましたlibxml_use_internal_errors(TRUE)。今、私は新しい問題を抱え<tr>ています。テーブル内にあるタグの数を数えたいのです。私は次のコードを使用しています:

$html = new DOMDocument();
libxml_use_internal_errors(TRUE);
$html->loadHTMLFile('http://www.bvl.com.pe/includes/cotizaciones_todas.dat');
libxml_clear_errors();
$xpath = new DOMXPath($html);
$tbody = $html->getElementsByTagName('tbody')->item(0);
$path = 'count(tr)';
$trCount = $xpath->evaluate($path,$tbody);

しかし、私はこのエラーメッセージを受け取っています:PHP Catchable fatal error: Argument 2 passed to DOMXPath::evaluate() must be an instance of DOMNode, null given私はすでに他のファイルで同じコードを使用しており、すべて正常に機能していましたが、この場合は機能していません。おそらく html が壊れているためですか?

4

0 に答える 0