Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie XML mit PHP in ein Array

So konvertieren Sie XML mit PHP in ein Array

PHPz
PHPzOriginal
2023-04-24 15:50:32776Durchsuche

XML (Extensible Markup Language) ist ein Format, das häufig zur Datenspeicherung und -übertragung verwendet wird, während PHP eine häufig verwendete Programmiersprache ist, die XML-Daten verarbeiten kann. Mit PHP können Entwickler XML-Daten in Arrays konvertieren, wodurch Datenoperationen komfortabler und flexibler werden. In diesem Artikel stellen wir vor, wie man XML mit PHP in ein Array konvertiert.

1. Verwenden Sie die Simple XML-Erweiterung von PHP.

PHP bietet eine Erweiterung namens Simple XML, die XML-Dateien in Objekte oder Arrays konvertieren kann. Es bietet einige einfache Methoden, die Entwicklern bei der schnellen Verarbeitung von XML-Daten helfen.

  1. Eine XML-Datei in ein Objekt laden

Verwenden Sie die Funktion simplexml_load_file(), um eine XML-Datei in ein SimpleXMLElement-Objekt zu laden. Zum Beispiel haben wir eine XML-Datei namens „data.xml“ mit folgendem Inhalt:

<?xml version="1.0"?>
<data>
    <item>
        <name>Apple</name>
        <price>1.50</price>
    </item>
    <item>
        <name>Banana</name>
        <price>0.75</price>
    </item>
    <item>
        <name>Orange</name>
        <price>2.00</price>
    </item>
</data>

Wir können sie mit dem folgenden Code in ein SimpleXMLElement-Objekt laden:

$xml = simplexml_load_file('data.xml');
  1. XML-Objekt in Array konvertieren

Wir können konvertieren ein SimpleXMLElement-Objekt in ein Array mithilfe der integrierten Funktion simplexml_load_string(). Zum Beispiel:

$array = json_decode(json_encode((array)$xml), true);

Im obigen Code verwenden wir eine Funktion namens json_decode(), um das XML-Objekt in ein PHP-Objekt zu konvertieren, verwenden dann json_encode(), um das PHP-Objekt in eine JSON-Formatzeichenfolge zu konvertieren, und verwenden schließlich (json_decode ($ string, true)-Funktion zum Konvertieren einer JSON-formatierten Zeichenfolge in ein PHP-Array

  1. Verwenden Sie eine foreach-Schleife, um das Array zu durchlaufen.

Wenn wir XML in ein PHP-Array konvertieren, können wir eine foreach-Schleife verwenden, um das Array zu durchlaufen Array und lesen Sie jeden Knoten. Der folgende Code kann beispielsweise alle Fruchtnamen in der Datei „data.xml“ ausdrucken:

foreach ($array['item'] as $item) {
    echo $item['name'] . "\n";
}

2. DOM-Erweiterung verwenden

PHP bietet auch eine Erweiterung namens DOM, Dies kann auch in ein Array konvertieren, ist jedoch flexibler und kann mehr Funktionen erreichen. Es ist wichtig, die Grundkenntnisse des DOM-Parsers zu verstehen.

  1. XML-Dateien in DOM-Objekte laden

Verwenden der DOMDocument-Klasse zum Laden eines XML Datei. DOM-Objekt. Zum Beispiel haben wir eine XML-Datei namens „data.xml“, die per Array geladen werden kann:

$doc = new DOMDocument();
$doc->load('data.xml');
    Der obige Code verwendet die Methode getElementsByTagName(), um alle Knoten im DOM-Objekt abzurufen Dann verwenden wir eine foreach-Schleife, um sie zu durchlaufen. Wenn ja, wird der Knotenname in einem Array gespeichert Der Schlüssel und der Knotenwert werden als Wert gespeichert. Zum Schluss durchlaufen wir das Array mit einem foreach
Wenn wir das XML in ein PHP-Array konvertieren, können wir eine foreach-Schleife verwenden, um das Array zu durchlaufen und die Attribute zu lesen und Werte jedes Knotens. Der folgende Code kann beispielsweise alle Fruchtnamen in der Datei „data.xml“ ausdrucken:

$array = array();
foreach ($doc->getElementsByTagName('*') as $node) {
    if ($node->childNodes->length === 1) {
        $array[$node->nodeName] = $node->nodeValue;
    } else {
        $array[$node->nodeName][] = $node->nodeValue;
    }
}
3. Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie das geht Verwenden Sie PHP, um XML-Dateien in Arrays zu konvertieren: Die Verwendung einer einfachen XML-Erweiterung und einer DOM-Erweiterung ist flexibler und kann unabhängig von der Methode verwendet werden Sie wählen, die Konvertierung von XML-Daten in ein Array ermöglicht uns eine komfortablere Datenverarbeitung und verbessert auch die Entwicklungseffizienz.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie XML mit PHP in ein Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn