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
![Konvertieren von XML in ein Array in PHP](/img/PHP/feature-image---php-xml-to-arrary.webp)
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