Robert-Green: simplexml_load_file erzeugt Fehler!

Beitrag lesen

Hallo,

ich habe ein Problem mit dem Simplexml_load_file. Denn wir haben festgestellt, das gelegentlich der Quellserver für die XML Datein nicht erreichbar ist. Der Nutzer sieht also eine blöde PHP Fehlermeldung.

Eine Lösung habe ich auch gefunden: http://www.php.net/manual/de/function.simplexml-load-file.php#97077 .
Hier wird vorher geprüft ob die XML auch wirklich erreichbar ist.

Nun zeigt sich aber folgendes Problem:

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in C:\xampplite\htdocs\abfrage\test.php on line 22  
  
Warning: simplexml_load_string() [function.simplexml-load-string]: 634 in C:\xampplite\htdocs\abfrage\test.php on line 22  
  
Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in C:\xampplite\htdocs\abfrage\test.php on line 22  

Für den Quellcode:

<?php  
function loadXML2($domain, $path, $timeout = 5) {  
    $fp = fsockopen($domain, 80, $errno, $errstr, $timeout);  
    if($fp) {  
        // make request  
        $out = "GET $path HTTP/1.1\r\n";  
        $out .= "Host: $domain\r\n";  
        $out .= "Connection: Close\r\n\r\n";  
        fwrite($fp, $out);  
  
        // get response  
        $resp = "";  
        while (!feof($fp)) {  
            $resp .= fgets($fp, 128);  
        }  
        fclose($fp);  
        // check status is 200  
        $status_regex = "/HTTP\/1\.\d\s(\d+)/";  
        if(preg_match($status_regex, $resp, $matches) && $matches[1] == 200) {  
            // load xml as object  
            $parts = explode("\r\n\r\n", $resp);  
            return simplexml_load_string($parts[1]);  
        }  
    }  
    return false;  
  
}  
  
  
        $xml = loadXML2("meine-domain.com", "/xml/index.php?only=dong");  
        if($xml) {  
           echo 'XML geladen'; // xml doc loaded  
        } else {  
           echo 'Nee hat nicht geklappt'; // failed. show friendly error message.  
        }  
  
?> 

Die XML ist bei manuellem Aufruf fehlerfrei sehe:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
<paket>  
	<anfrage>  
		<dong>DE</dong>  
		<objekt>1</objekt>  
		<ergebnis>2</ergebnis>  
	</anfrage>  
						  
</paket>

Gedankenfehler?