Mehrere Möglichkeiten für PHP, XML zu analysieren

(*-*)浩
Freigeben: 2023-02-24 06:20:01
Original
3257 Leute haben es durchsucht

php bietet mehrere Klassen oder Methoden zum Parsen von XML, darunter: XML-Parser, SimpleXML, XMLReader und DOMDocument.

Mehrere Möglichkeiten für PHP, XML zu analysieren

XML-Expat-Parser:

XML-Parser verwendet Expat-XML-Parser. Expat ist ein ereignisbasierter Parser, der XML-Dokumente als eine Reihe von Ereignissen behandelt. Wenn ein Ereignis auftritt, ruft es eine bestimmte Funktion auf, um es zu verarbeiten. Expat ist ein validierungsfreier Parser, der alle mit dem Dokument verknüpften DTDs ignoriert. (Empfohlenes Lernen: PHP-Programmierung vom Anfänger bis zum Experten)

Wenn die Form des Dokuments jedoch nicht gut ist, endet es mit einer Fehlermeldung. Da es ereignisbasiert ist und keine Validierung erfordert, ist Expat schnell und für Webanwendungen geeignet.

Der Vorteil des XML-Parsers ist seine gute Leistung, da er nicht das gesamte XML-Dokument in den Speicher lädt und dann verarbeitet, sondern es beim Parsen verarbeitet. Aber gerade aus diesem Grund ist es nicht für diejenigen geeignet, die die XML-Struktur dynamisch anpassen oder komplexe Operationen basierend auf der XML-Kontextstruktur ausführen müssen.

Wenn Sie nur ein gut strukturiertes XML-Dokument analysieren und verarbeiten möchten, kann es die Aufgabe gut erledigen. Es ist zu beachten, dass XML Parser nur drei Kodierungsformate unterstützt: US-ASCII, ISO-8859-1 und UTF-8. Wenn Ihre XML-Daten in anderen Kodierungen vorliegen, müssen Sie sie zuerst in eines der oben genannten drei konvertieren.

Es gibt im Allgemeinen zwei häufig verwendete Analysemethoden des XML-Parsers (eigentlich zwei Funktionen): xml_parse_into_struct und xml_set_element_handler.

xml_parse_into_struct

Diese Methode analysiert die XML-Daten in zwei Arrays:

Index-Array – enthält einen Zeiger auf die Position des Werts im Wert-Array

Werte-Array – enthält Daten aus dem analysierten XML

SimpleXML

SimpleXML ist eine Reihe einfacher und benutzerfreundlicher XML-Tools, die nach PHP5 bereitgestellt werden Objekte, die einfach zu verarbeiten sind, und Sie können auch XML-Daten organisieren und generieren. Dies gilt jedoch nicht für XML, das Namespaces enthält, und das XML muss wohlgeformt sein.

Es bietet drei Methoden: simplexml_import_dom, simplexml_load_file, simplexml_load_string. Der Funktionsname erklärt intuitiv die Funktion der Funktion. Alle drei Funktionen geben SimpleXMLElement-Objekte zurück und Daten werden durch SimpleXMLElement-Operationen gelesen/hinzugefügt.

Der Vorteil von SimpleXML besteht darin, dass es einfach zu entwickeln ist. Der Nachteil besteht darin, dass das gesamte XML vor der Verarbeitung in den Speicher geladen wird, sodass ein XML-Dokument mit großem Inhalt möglicherweise nicht analysiert werden kann. Wenn Sie kleine Dateien lesen und die XML-Datei keinen Namespace enthält, ist SimpleXML eine gute Wahl.

XMLReader

XMLReader ist ebenfalls eine Erweiterung nach PHP5 (standardmäßig nach 5.1 installiert). Es bewegt sich im Dokumentenfluss wie ein Cursor und stoppt an jedem Knoten. es ist sehr flexibel zu bedienen. Es bietet schnellen und nicht zwischengespeicherten Streaming-Zugriff auf Eingaben und kann einen Stream oder ein Dokument lesen, wodurch der Benutzer Daten daraus extrahieren und Datensätze überspringen kann, die für die Anwendung nicht von Bedeutung sind.

Verwenden Sie DomDocument, um XML-Dateien zu analysieren

Vorgangsschritte:

1, Knoten mit der Methode createElement erstellen,

2, Text erstellen Verwenden Sie die Methode „createTextNode“ für Inhalte,

3, fügen Sie untergeordnete Knoten mit der Methode „appendChild“ hinzu,

4, und erstellen Sie Attribute mit der Methode „createAttribute“

Das obige ist der detaillierte Inhalt vonMehrere Möglichkeiten für PHP, XML zu analysieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage