2017-08-07 2 views
1

Ich möchte eine XML-Datei von URL und mit PHP analysieren. Im Moment kann ich mit diesem Code den Inhalt der XML-Datei haben, aber es gelingt mir nicht, die simplexml_load_string zu verwenden, um es als XML-Inhalt zu verwenden.Eine komprimierte XML-Datei mit PHP von einer URL aus analysieren

In der Tat, wenn ich echo zip, der Text erscheint ohne die XML-Tags. Hättest du eine Idee? Vielen Dank.

<?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

Wenn Ihr 'echo' ist in einer Web-Seite, können Sie feststellen, sie werden einfach als Markup-Tags behandelt werden, haben Sie versucht, an der Quelle der Seitenanzeige suchen oder verwenden Sie PHP in der Befehlszeile, um die vollständige Ausgabe anzuzeigen. –

+0

Auch 'getFromName' gibt Ihnen den Inhalt der Datei, so dass Sie' file_get_contents' nicht benötigen. –

+0

Vielen Dank für Ihre Antwort. Ja, das Echo ist in einer Webseite, ich verstehe jetzt, warum Tags nicht erscheinen. Trotzdem, selbst wenn ich den 'file_get_contents' entferne, funktioniert 'simplexml_load_string' nicht (der Fehler ist ** simplexml_load_string() erwartet, dass Parameter 1 String ** ist). –

Antwort

0

Versuchen Sie folgendes:

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

Vielen Dank, es funktioniert. –

Verwandte Themen