2017-08-07 21 views
1

URLとPHPからXMLファイルを解析したいと思います。今のところ、このコードではXMLファイルのコンテンツを取得できますが、XMLコンテンツとして使用するには、simplexml_load_stringを使用することに成功していません。URLからPHPでZiped XMLファイルを解析する

実際に、私がジップをエコーすると、テキストはXMLタグなしで表示されます。アイデアはありますか?ありがとう。

<?php 
$file = 'http://url_here_.zip'; 
$newfile = 'tmp_name_file.zip'; 

if (!copy($file, $newfile)) { 
echo "failed to copy $file...\n";} 

$zip = new ZipArchive(); 

if ($zip->open($newfile)!==TRUE) { 
    exit("cannot open <$filename>\n"); 
    } else { 
    $zip->getFromName('Scrutins_XIV.xml'); 
    $xml = simplexml_load_string(file_get_contents($zip)); 
    $zip->close(); 
    } 
?> 
+0

をコマンドラインでPHPを使用して完全な出力を表示します。 –

+0

また、 'getFromName'はファイルの内容を与えるので、' file_get_contents'を使う必要はありません。 –

+0

ありがとうございます。はい、「エコー」はWebページにありますが、なぜタグが表示されないのか理解しています。それでも、 'file_get_contents'を削除しても、' simplexml_load_string'は動作しません(エラーは** simplexml_load_string()はパラメータ1が文字列**になることを期待しています)。 –

答えて

0

この試してみてください:あなたはページ表示のソースを見て試してみましたが、あなたの `echo`がWebページ内にある場合、あなたは彼らは単にマークアップタグとして扱われているかもしれません

$xml_string = $zip->getFromName('Scrutins_XIV.xml'); 
if ($xml_string!= false) { 
    $xml = simplexml_load_string($xml_string); 
} 
+0

ありがとう、それは動作します。 –