Zum Inhalt springen

PHP libxml Bibliothek Referenzhandbuch

Dieser Leitfaden behandelt die PHP libxml-Bibliothek und bietet alles, was Sie benötigen, um XML-Dokumente effektiv zu parsen, zu validieren und zu manipulieren.

Was ist PHP libxml?

PHP libxml ist eine Bibliothek, die eine Reihe von Funktionen für die Arbeit mit XML-Dokumenten bereitstellt. Sie ist in die Programmiersprache PHP integriert und ermöglicht es Entwicklern, XML-Dokumente mühelos zu parsen, zu validieren und zu manipulieren.

Installation von PHP libxml

PHP libxml ist standardmäßig in PHP integriert, sodass keine separate Installation erforderlich ist. Wenn Sie eine benutzerdefinierte PHP-Version verwenden, stellen Sie sicher, dass die libxml-Erweiterung in Ihrer php.ini-Konfiguration aktiviert ist.

Verwendung von PHP libxml

Die von libxml bereitgestellten Funktionen sind in PHP global verfügbar. Sie müssen keine Dateien einbinden oder laden, um sie zu verwenden.

Parsen von XML-Dokumenten

Eine der häufigsten Anwendungen von PHP libxml ist das Parsen von XML-Dokumenten. Das folgende Beispiel zeigt, wie Sie die Funktion simplexml_load_file zum Parsen eines XML-Dokuments verwenden:

Parsen von XML-Dokumenten in PHP

php
<?php
libxml_use_internal_errors(true);
$xml = simplexml_load_file('example.xml');

if ($xml === false) {
  echo "Failed to load XML.";
  foreach (libxml_get_errors() as $error) {
    echo $error->message;
  }
  libxml_clear_errors();
} else {
  echo "XML loaded successfully.";
}
?>

Validieren von XML-Dokumenten

PHP libxml bietet auch Funktionen zum Validieren von XML-Dokumenten gegen ein DTD oder Schema. Das folgende Beispiel zeigt, wie Sie ein XML-Dokument mit XMLReader validieren, was der empfohlene Ansatz für moderne PHP-Versionen ist:

Beispiel für PHP libxml

php
<?php
libxml_use_internal_errors(true);
$reader = new XMLReader();
$reader->open('example.xml');
$reader->setSchema('example.xsd');

if ($reader->isValid()) {
  echo "The XML document is valid.";
} else {
  echo "The XML document is not valid.";
  foreach (libxml_get_errors() as $error) {
    echo $error->message;
  }
  libxml_clear_errors();
}
$reader->close();
?>

Manipulieren von XML-Dokumenten

PHP libxml bietet auch Funktionen zum Manipulieren von XML-Dokumenten. Das folgende Beispiel zeigt, wie Sie DOMDocument::createElement und DOMDocument::appendChild verwenden, um ein neues Element zu erstellen, es an das Dokumentenwurzeln anzuhängen und die Änderungen zu speichern. Es enthält außerdem eine Fehlerbehandlung beim Laden der Datei und zeigt, wie das Ergebnis als String ausgegeben wird:

Manipulieren von XML-Dokumenten in PHP

php
<?php
$doc = new DOMDocument();
if (!$doc->load('example.xml')) {
  echo "Failed to load XML document.";
  exit;
}

// Create a new element and append it to the document root
// To append to a specific node, use: $target = $doc->getElementsByTagName('root')->item(0); $target->appendChild($new_element);
$new_element = $doc->createElement('new_element', 'This is a new element.');
$doc->appendChild($new_element);

// Save the modified XML document to a file
$doc->save('example.xml');

// Alternatively, output the modified XML as a string
// echo $doc->saveXML();
?>

Fazit

Wir hoffen, dass dieser Leitfaden Ihnen ein umfassendes Verständnis der PHP libxml-Bibliothek vermittelt hat. Egal, ob Sie XML-Dokumente parsen, validieren oder manipulieren – PHP libxml bietet die Werkzeuge, die Sie für Ihre Aufgabe benötigen. Warum probieren Sie es also nicht noch heute aus?

Praxis

Wozu dient die PHP libxml-Erweiterung?

Finden Sie das nützlich?

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