私は.xml
ファイルを持っています(7000行以上のオリジナルですが、テストのために私は3行しか使っていませんでした。 t)からデータを抽出します。しかし、自動的に生成されたものであること、それがひどくかなりありませんが、観察:PHPを使用して(巨大な)xmlファイルからデータを抽出
<ROW MODID="182" RECORDID="561">
<COL>
<DATA>
</DATA>
</COL>
<COL>
<DATA>
6 quai St Pierre</DATA>
</COL>
<COL>
<DATA>
</DATA>
</COL>
<COL>
<DATA>
Monsieur</DATA>
</COL>
<COL>
などなど...私はすでに、私はXacobeo
上で実行する必要が要求を考案したが、私は取得するように見えることはできません それはPHPで動作するように。私は、バリエーションの多数、という最後の1を試した次
$xmldoc = new DOMDocument();
$xmldoc->load('hellashort.xml');
$xpathvar = new Domxpath($xmldoc);
$queryResult = $xpathvar->query('//COL');
foreach($queryResult as $result){
echo $result->textContent;
}
は、私はより多くの美的ファイルでこのコードを試してみました、それが動作しますので、どのように私はそれがこのファイルで作業を得ることができますか? すべての提案が高く評価されました。 おかげ
UPDATE は、私はエラーの短いファイルをチェックし、1が動作するように私は、要素を閉じていなかった実現、しかし、長いファイルは、オンラインチェッカーに応じてエラーが含まれていないが、まだ動作しません。 。
UPDATE 2 長いファイルが現在のリクエスト/
のために動作しますが、それらはより複雑になり次第、何も返さない、すなわち:Xacobeoで正しい結果を返す//ROW/COL[position()=39]/DATA
。 .xml
ファイルを大きすぎてこのように扱うことはできますか?
$file=file_get_contents("go.xml");
$xml=simplexml_load_string($file);
$elements=$xml->path('//ROW/COL[position()=1]/DATA');
それはSimpleXMLを呼ばれていますなぜ私が見る、すべてに感謝を:だから私は近づいを変更し、それをこのようにやってしまったFIXED -
UPDATE 3(このファイルにはおよそ11.2のMoです)助けてください
オンラインツールを使用してXMLを検証し、エラーの内容や発生状況を共有することをお勧めします。 – Netham
エラーは表示されず(画面またはログに表示されます)、結果は表示されません...私は死の白い画面が表示されていないことを確認するために、機能の前後にいくつかのランダムなフレーズをエコーし、彼らはどちらもうまく表示されます。 –