Zum Inhalt springen

PHP SimpleXML - simplexml_load_file und simplexml_load_string

SimpleXML in PHP verstehen: Ein umfassender Leitfaden

Die SimpleXML-Erweiterung von PHP bietet eine einfache Möglichkeit, XML-Daten zu parsen und zu manipulieren. In diesem Artikel werden wir uns intensiv mit der SimpleXML-Erweiterung befassen und ihre verschiedenen Funktionen und Methoden erkunden, darunter die Funktionen simplexml_load_file und simplexml_load_string. Am Ende dieses Artikels werden Sie ein solides Verständnis dafür haben, wie Sie SimpleXML in Ihren PHP-Projekten einsetzen können.

XML-Daten laden

Der erste Schritt bei der Arbeit mit SimpleXML besteht darin, XML-Daten in ein PHP-Skript zu laden. Dies kann auf zwei Hauptwegen erfolgen: durch Laden einer XML-Datei oder durch Laden eines XML-Strings.

Eine XML-Datei laden

Die Funktion simplexml_load_file kann verwendet werden, um eine XML-Datei in ein SimpleXML-Objekt zu laden. Diese Funktion erwartet den Pfad zur XML-Datei als Argument und gibt das SimpleXML-Objekt zurück.

PHP XML-Datei mit simplexml_load_file laden

php
$xml = simplexml_load_file('example.xml');

Einen XML-String laden

Die Funktion simplexml_load_string kann verwendet werden, um einen XML-String in ein SimpleXML-Objekt zu laden. Diese Funktion erwartet den XML-String als Argument und gibt das SimpleXML-Objekt zurück.

PHP XML-Daten aus einem String mit simplexml_load_string laden

php
<?php

$xml_string = "<root><child>Value</child></root>";
$xml = simplexml_load_string($xml_string);

var_dump($xml);

Auf XML-Daten zugreifen

Sobald die XML-Daten in ein SimpleXML-Objekt geladen wurden, können Sie über verschiedene Methoden und Eigenschaften darauf zugreifen und sie manipulieren.

Auf Elemente zugreifen

Elemente können über Array-Syntax oder als Objekt-Eigenschaften abgerufen werden. Beispiel: Der folgende Code greift auf das Element child in den XML-Daten zu:

XML-Kind-Element

php
$value = $xml->child;

Auf Attribute zugreifen

Attribute können über Array-Syntax abgerufen werden. Beispiel: Der folgende Code greift auf das attribute in den XML-Daten zu:

XML-Attribut des Kind-Elements

php
$attribute = $xml->child['attribute'];

XML-Daten ändern

SimpleXML bietet auch Methoden zum Ändern von XML-Daten.

Elemente hinzufügen

Elemente können mit der Methode addChild zu einem XML-Dokument hinzugefügt werden. Beispiel: Der folgende Code fügt den XML-Daten ein neues child-Element hinzu:

PHP ein neues Kind-Element zu XML-Daten hinzufügen

php
$xml->addChild('child', 'Value');

Attribute hinzufügen

Attribute können mit der Methode addAttribute zu einem XML-Dokument hinzugefügt werden. Beispiel: Der folgende Code fügt dem child-Element in den XML-Daten ein neues attribute hinzu:

XML einem Kind-Element ein Attribut hinzufügen

php
$xml->child->addAttribute('attribute', 'Value');

SimpleXML in XML konvertieren

Schließlich können SimpleXML-Objekte mit der Methode asXML einfach zurück in XML konvertiert werden. Beispiel: Der folgende Code konvertiert das SimpleXML-Objekt in einen XML-String:

PHP XML in einen String konvertieren

php
$xml_string = $xml->asXML();

Fazit

In diesem Artikel haben wir die SimpleXML-Erweiterung in PHP erkundet und gelernt, wie man XML-Daten mit den Funktionen simplexml_load_file und simplexml_load_string parst und manipuliert, auf Elemente und Attribute zugreift, XML-Daten ändert und SimpleXML-Objekte zurück in XML konvertiert.

Praxis

Welche Methode verwendet die SimpleXML PHP-Erweiterung zum Parsen der XML-Datei?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.