0

PHP スクリプトを使用して外部 XML ファイルを読み込もうとしていますが、何を試しても「空のドキュメント」エラーが発生します。ブラウザで URL を開くと、xml にアクセスして読み取ることができます。

私と同様の問題を抱えたスタックオーバーフローに関する投稿は他にもたくさんありますが、私の場合はどの解決策も機能しません。

これは私のコードです:

$url="http://xml.example.com";
$xml = new SimpleXMLElement("compress.zlib://$url", NULL, TRUE);

パーサー エラー: 4 行目の /home/admin/public_html/xml/index2.php のドキュメントが空です

どうやらサードパーティのサービスでは、gzip 圧縮を明示的に要求する必要があるようです。

何か案は?

ありがとう、

アラン。

4

1 に答える 1

0

OK、curl を使用して動作させ、XML オブジェクトを作成しました (と思います!)。

$ch = curl_init();

curl_setopt($ch,CURLOPT_ENCODING , "gzip");
// set url 
curl_setopt($ch, CURLOPT_URL, $url);

//return the transfer as a string 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// $output contains the output string 
$output = curl_exec($ch);

curl_close($ch);

//print_r($output);

$oXML = new SimpleXMLElement($output);

結果は私のスクリプトと互換性があり、解析してデータを抽出できます:0)

于 2013-08-07T23:57:28.897 に答える