Heim  >  Artikel  >  Backend-Entwicklung  >  So lesen Sie XML-Daten in PHP und konvertieren sie in ein Array

So lesen Sie XML-Daten in PHP und konvertieren sie in ein Array

PHPz
PHPzOriginal
2023-04-26 14:22:02606Durchsuche

In vielen Entwicklungsprojekten wird XML häufig als Konfigurationsdatei, Datenübertragung und sogar als Dokumentmedium verwendet. In der Webentwicklung spielt auch die PHP-Sprache eine wichtige Rolle, und PHP, das XML liest und in ein Array umwandelt, ist eine grundlegende und notwendige Fähigkeit. In diesem Artikel wird der Vorgang im Detail beschrieben.

1. XML lesen

Bevor wir XML lesen, müssen wir eine XML-Dateiinstanz erhalten. Es gibt viele Methoden, z. B. das Abrufen vom Server, das Hochladen von Dateien, das direkte Schreiben in Skripts usw. Hier ist ein Beispiel für das Abrufen einer XML-Datei vom Server:

<?php
$xmlFile = &#39;example.xml&#39;;   //设置XML文件路径
$xml = simplexml_load_file($xmlFile);   //将文件载入到对象中
?>

Hier verwenden wir die Methode simplexml_load_file(), die XML-Inhalte in ein Objekt laden kann. Ein Objekt kann ein gesamtes XML-Dokument oder ein einzelnes Element darstellen. Das zurückgegebene Objekt kann als einfaches Array verwendet werden.

2. In Array konvertieren

Bevor wir XML-Dateien in Arrays konvertieren, müssen wir die Grundstruktur von XML-Dateien verstehen. Es gibt drei grundlegende Knotentypen in XML: Elemente, Attribute und Textknoten.

Das Folgende ist ein Beispiel:

<person>
    <name>John Smith</name>
    <age>30</age>
    <gender>M</gender>
    <address>
        <city>New York</city>
        <street>123 Main St</street>
        <zipcode>10000</zipcode>
    </address>
</person>

Als nächstes schauen wir uns an, wie XML in ein PHP-Array konvertiert wird:

<?php
function xmlToArray($xml) {
    $result = [];
    foreach ($xml->children() as $element) {
        $elementName = $element->getName();
        if(count($element->children()) > 0) {
            $result[$elementName] = xmlToArray($element);
        } else {
            $result[$elementName] = trim((string)$element);
        }
        foreach($element->attributes() as $attrName => $attrValue) {
            $result['attribute'][$attrName] = (string)$attrValue;
        }
    }
    return $result;
}
?>

Das Obige Code, Wir haben hier eine rekursive Funktion verwendet. Zuerst durchlaufen wir den XML-Knoten und verarbeiten seine Elemente und Attribute. Wenn der aktuelle Knoten untergeordnete Knoten hat, wird diese Funktion rekursiv aufgerufen, um ihn in ein mehrdimensionales Array umzuwandeln. Wenn der Knoten keine untergeordneten Knoten hat, verwenden Sie diesen als Wert des Elements.

Darüber hinaus können wir auch ein Attribut hinzufügen. Für jedes Element durchlaufen wir seine Attribute und fügen sie als Array-Elemente zum Array „attribute“ hinzu.

3. Arrays verwenden

Jetzt haben wir das XML in ein PHP-Array umgewandelt. Als nächstes können wir das gerade konvertierte Array verwenden, um die Werte im Dokument abzurufen.

<?php
$xmlFile = &#39;example.xml&#39;;   //设置XML文件路径
$xml = simplexml_load_file($xmlFile);   //将文件载入到对象中
$result = xmlToArray($xml);   //转换成数组
echo $result[&#39;person&#39;][&#39;name&#39;];   //输出John Smith
echo $result[&#39;person&#39;][&#39;address&#39;][&#39;city&#39;];   //输出New York
?>

Mit dieser Methode können wir XML-Dokumente komfortabler verarbeiten und verwalten.

4. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit PHP XML-Dateien lesen und in mehrdimensionale Arrays konvertieren. Obwohl das Konvertieren von XML in ein PHP-Array etwas mühsam sein kann, ist es dennoch eine sehr notwendige Fähigkeit in der Webentwicklung. Gleichzeitig ist das Konvertieren einer einfachen XML-Datei in ein PHP-Array nur ein grundlegender Prozess. Es gibt viele erweiterte Verwendungsmöglichkeiten von XML, einschließlich DTD (Document Type Definition) und XSLT (XML Stylesheet Language Transformation). Ich hoffe, dass Sie beim Erlernen von PHP, um XML zu erhalten und in ein Array umzuwandeln, auch die Grundkenntnisse von XML verstehen und diese auf komplexere Projekte anwenden können.

Das obige ist der detaillierte Inhalt vonSo lesen Sie XML-Daten in PHP und konvertieren sie 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