Wir verwenden es, um ein XML-Dokument in ein PHP-Array zu konvertieren. Manchmal müssen wir das XML-Dokument als eingehende Daten behandeln oder Daten als XML-Dokument exportieren. Die XML-Sprache wird verwendet, um den Datenaustausch über Websites oder Anwendungen hinweg zu strukturieren. Daher bietet es eine XML-zu-Array-Operation, um reibungslos mit den XML-Daten zu arbeiten.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Während der Konvertierung müssen wir einige der unten aufgeführten Funktionen verwenden –
Es akzeptiert das XML-Dokument und wandelt es in ein Array um. Angenommen, wir haben ein XML-Dokument als ExXMl.xml; Jetzt wollen wir es in ein Array konvertieren. Um zu konvertieren, müssen wir also einige Schritte befolgen –
Beispiel zum Laden einer XML-Datei und deren Konvertierung in ein PHP-Array –
Zuerst erstellen wir die XML-Datendatei mit dem Namen „ExXML.xml“ und erstellen den Dateninhalt als –
Code:
<?xml version="1.0" encoding="utf-8"?> <Student> <firstname name = 'John'> <rollno> 12 </rollno> <marks> 78 </marks> <subject> English </subject> </firstname> <firstname name='Sam'> <rollno> 15 </rollno> <marks> 80 </marks> <subject> English </subject> </firstname> <firstname name='Praveen'> <rollno> 30 </rollno> <marks> 50 </marks> <subject> English </subject> </firstname> </Student> Next,we create the PHP file to read and load the XML file, as below - <?php // xml file $file = "ExXML.xml"; // Read XML file as string $xml_file = file_get_contents($file); // xml string is Convert into an object $obj = simplexml_load_string($xml_file); // AN object Convert into json string $json_string = json_encode($obj); // Convert json string into an array $array = json_decode($json_string, true); // print an array print_r($array); ?>
Ausgabe:
Alle öffnenden und schließenden Tags sind korrekt. Als nächstes wird das geladene Objekt mit Hilfe der Funktionen json_encode() bzw. json_decode() als PHP-Array kodiert und dekodiert.
Ein Beispiel, bei dem Fehler auftreten und analysiert werden-
Als nächstes schreiben wir den PHP-Code, um das PHP-XML zu verstehen, in ein Array, wo wir die Parsing-Fehler sehen, die beim Ausführen des XML in ein Array aufgrund der Nichtübereinstimmung des XML-Tags oder einer nicht ordnungsgemäßen Strukturierung aufgetreten sind, wie unten –
Code:
<?xml version='1.0'?> <Student> <firstname name = 'John'> <rollno> 12 </rollno> <marks> 78 </marks> <!-- missing --> </firstname> <firstname name='Sanjay'> <rollno> 15 </rollno> <marks> 80 </marks> <!-- mismatch tag --> <subject> English <subject> </firstname> <firstname name='Parvez'> <rollno> 30 </rollno> <marks> 50 </marks> <subject> English </subject> </firstname> </Student> Next, we create the PHP file to read and load the XML file, as below - <?php // xml file $file = "ExXML.xml"; // Read file as string $xml_file = file_get_contents($file); // xml string is Convert into an object $obj = simplexml_load_string($xml_file); // check xml load or not if ($obj == FALSE) { echo "There were errors to parse the XML file.\n"; exit; } // AN object Convert into json string $json_string = json_encode($obj); // Convert json string into an array $array = json_decode($json_string, true); // print an array print_r($array); ?>
Ausgabe:
Einer der öffnenden und schließenden Tags stimmt nicht überein und einer der Tags fehlt (wie in der XML-Datei mit dem Kommentar-Tag erwähnt). Die Warnungen treten beim Parsen und Laden der XML-Datei auf, wie in der obigen Ausgabe zu sehen ist. Korrigieren Sie also die XML-Datei, indem Sie die Warnungen lesen, und laden Sie sie erneut.
Das obige ist der detaillierte Inhalt vonPHP XML in Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!