Konvertieren von XML in ein Array in PHP
-
Verwenden Sie die Funktionen
simplexml_load_string()
,json_encode()
undjson_decode()
, um XML in ein Array in PHP zu konvertieren -
Verwenden Sie die Funktion
simplexml_load_file()
und schreiben Sie sie in ein Array, um XML in ein Array in PHP zu konvertieren
In diesem Tutorial erfahren Sie, wie Sie XML in PHP in ein Array konvertieren.
Verwenden Sie die Funktionen simplexml_load_string()
, json_encode()
und json_decode()
, um XML in ein Array in PHP zu konvertieren
Wir können XML-Daten als PHP-Array mit einer Reihe von Konvertierungen darstellen.
Mit der Funktion simplexml_load_string()
können wir den XML-String als Objekt interpretieren. Die Funktion verwendet den XML-String als ersten Parameter.
Als zweite Option können wir eine Klasse angeben. Die Funktion gibt das Objekt der angegebenen Klasse zurück. Der dritte Parameter der Funktion sind die LIBXML
-Konstanten.
Als nächstes sollten wir das Objekt mit der Funktion json_encode()
in JSON konvertieren. Für den letzten Teil können wir die Funktion json_decode()
mit dem Parameter TRUE
verwenden, um den JSON in ein Array zu konvertieren.
Betrachten Sie beispielsweise die folgenden XML-Daten.
<students>
<bachelors>
<name>Jack</name>
<name>Hari</name>
</bachelors>
<masters>
<name>Sia</name>
<name>Paul</name>
</masters>
</students>
Erstellen Sie eine Variable $xmlstr
und speichern Sie das gesamte XML als String in der Variablen. Als nächstes erstellen Sie eine weitere Variable $XML
und weisen ihr die Funktion simplexml_load_string()
zu.
Setzen Sie in der Funktion als ersten Parameter $xmlstr
und als Klasse SimpleXMLElement
und als dritten Parameter LIBXML_NOCDATA
. Als nächstes konvertieren Sie $XML
mit der Funktion json_encode()
in JSON.
Konvertieren Sie dann das JSON mit der Funktion json_decode()
in ein Array. Vergessen Sie nicht, TRUE
als zweiten Parameter der Funktion json_decode()
anzugeben. Drucken Sie schließlich das Array.
Dabei führt die Konstante LIBXML_NOCDATA
die Zeichendaten (CDATA) als Textknoten zusammen. Somit können wir XML mithilfe dieser verschiedenen PHP-Funktionen in ein PHP-Array konvertieren.
$xmlstr ='
<students>
<bachelors>
<name>Jack</name>
<name>Hari</name>
</bachelors>
<masters>
<name>Sia</name>
<name>Paul</name>
</masters>
</students>';
$XML = simplexml_load_string($xmlstr, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($XML);
$arr = json_decode($json,TRUE);
print_r($arr);
Ausgabe:
Array ( [bachelors] => Array ( [name] => Array ( [0] => Jack [1] => Hari ) ) [masters] => Array ( [name] => Array ( [0] => Sia [1] => Paul ) ) )
Verwenden Sie die Funktion simplexml_load_file()
und schreiben Sie sie in ein Array, um XML in ein Array in PHP zu konvertieren
Wir können die Funktion simplexml_load_file()
verwenden, um das XML in ein Objekt zu interpretieren. Dann können wir das Objekt durch Typumwandlung in ein Array konvertieren.
Die Funktion verwendet den Pfad der XML-Datei als ersten Parameter. Die Funktion ähnelt fast der Funktion simplexml_load_string()
. Wir können eine XML-Datei erstellen und ihren Pfad in der Funktion simplexml_load_file()
verwenden.
Zum Beispiel können wir in der ersten Methode dieselbe XML-Datei verwenden, die XML-Datei als file.xml
speichern und eine Variable $XML
in PHP erstellen. Weisen Sie der Variablen simplexml_load_file()
mit file.xml
als Parameter zu.
Als nächstes erstellen Sie eine Variable $arr
und geben die Variable $XML
in ein Array um. Weisen Sie das typisierte Array der Variablen $arr
zu. Geben Sie zum Schluss die Variable $arr
mit der Funktion print_r()
aus.
Auf diese Weise können wir mit der Funktion simplexml_load_file()
die XML-Datei laden und in ein Array umwandeln.
$XML = simplexml_load_file('file.xml');
$arr = (array)$XML;
print_r($arr);
Ausgabe:
Array ( [bachelors] => SimpleXMLElement Object ( [name] => Array ( [0] => Jack [1] => Hari ) ) [masters] => SimpleXMLElement Object ( [name] => Array ( [0] => Sia [1] => Paul ) ) )
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedInVerwandter Artikel - PHP XML
Verwandter Artikel - PHP Array
- Wie man die erste und letzte Iteration in einer foreach-Schleife in PHP bestimmt
- Wie man in PHP ein Array in eine Zeichenkette konvertiert
- Wie man das erste Element eines Arrays in PHP erhält
- Wie Sie ein Array in PHP echoen oder drucken
- Wie löscht man ein Element aus einem Array in PHP
- Wie man leere Array-Elemente in PHP entfernt