Ich versuche die XML-Datei von einer URL zu bekommen. Aber ich bekomme nur den Text aus der Datei, ohne Syntax.PHP cURL kann kein XML erzeugen
Mein Code:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://services.mobile.de/search-api/search?country=DE&sort.field=makeModel&sort.order=ASCENDING');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic '. base64_encode("username:password"), 'Accept:
application/xml'));
$xml = new SimpleXMLElement(curl_exec($ch));//line 14
curl_close($ch);
print_r($xml);
Meine Leistung:
....sensorsBlackEuro5PetrolManual gearboxAutomatic air conditioningUsed vehicle150.90525114.812090CarSmall CarVolkswagenPoloCentral lockingElectric windowsImmobilizerPower Assisted SteeringABSESPFull Service HistoryElectric side mirrorOn-board computerCD playerTuner/radioIsofix (child seat anchor points)Parking sensor
Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found in /Applications/XAMPP/xamppfiles/htdocs/test.php on line 14
Warning: SimpleXMLElement::__construct(): 1 in /Applications/XAMPP/xamppfiles/htdocs/test.php on line 14
Warning: SimpleXMLElement::__construct():^in /Applications/XAMPP/xamppfiles/htdocs/test.php on line 14
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /Applications/XAMPP/xamppfiles/htdocs/test.php:14 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/test.php(14): SimpleXMLElement->__construct('1') #1 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/test.php on line 14
Update:
ich jetzt die richtige Zeichenfolge im Browser mit diesem:
echo '<pre>';
echo htmlspecialchars(print_r(curl_exec($ch), true));
echo '</pre>';
Aber wenn ich versuche zu verwenden:
$sxe = simplexml_load_string($re);
print_r($sxe);
ich dies nur erhalten:
SimpleXMLElement Object ()
Wenn Sie XML im Browser öffnen, können Sie gültiges XML sehen oder nicht? – hakiko
Wissen Sie, dass die API XML zurückgibt? Was passiert, wenn Sie die Anfrage mit curl über die Befehlszeile senden? –
Sind Sie sicher, dass Sie eine XML-Datei von Ihrer Anfrage erhalten? Was bedeutet '$ response = curl_exec ($ ch); echo htmlspecialchars ($ response); 'zeigen Sie? –