Wissen Sie, was XML Expat ist? Wie definiert er es?

慕斯
Freigeben: 2023-03-10 07:38:01
Original
2174 Leute haben es durchsucht

Der vorherige Artikel hat Ihnen „Wie verwende ich PHP MySQL für die Datenverbindung?“ vorgestellt. 》, dieser Artikel führt Sie weiterhin in PHP XML Expat ein. Ich frage mich, ob Sie sich für XML interessieren? Dann lasst es uns gemeinsam anschauen! ! !

Wissen Sie, was XML Expat ist? Wie definiert er es?

Was ist XML:

XML wird zur Beschreibung von Daten verwendet, und der Schwerpunkt liegt auf dem, was die Daten sind. XML-Dateien beschreiben die Struktur von Daten. PHP XML EXPAT.

In XML gibt es keine vordefinierten Tags, Sie müssen Ihre eigenen Tags definieren.

Was ist Expat?

Zum Lesen und Aktualisieren – Erstellen und Verarbeiten – eines XML-Dokuments benötigt der Benutzer einen XML-Parser.

Es gibt zwei grundlegende Arten von XML-Parsern:

Baumbasierte Parser: Dieser Parser wandelt XML-Dokumente in eine Baumstruktur um. Es analysiert das gesamte Dokument und bietet Zugriff auf Elemente in der Baumstruktur, beispielsweise das Document Object Model (DOM).

Ereignisbasierter Parser: Behandeln Sie XML-Dokumente als eine Reihe von Ereignissen. Wenn ein bestimmtes Ereignis auftritt, ruft der Parser eine Funktion auf, um es zu verarbeiten.

Expat-Parser ist ein ereignisbasierter Parser.

Ereignisbasierte Parser konzentrieren sich auf den Inhalt von XML-Dokumenten und nicht auf deren Struktur. Aus diesem Grund können ereignisbasierte Parser schneller auf Daten zugreifen als baumbasierte Parser.

Sehen Sie sich das folgende XML-Snippet an:

<from>Jani</from>
Nach dem Login kopieren

Startelement: from

CDATA-Startabschnitt, Wert: Jani

Schlusselement: from

Das obige XML-Beispiel enthält wohlgeformtes XML. Diese Instanz ist jedoch ungültiges XML, da ihr keine Dokumenttypdeklaration (Document Type Declaration, DTD) zugeordnet ist.

Bei Verwendung des Expat-Parsers macht dies jedoch keinen Unterschied. Expat ist ein Parser, der die Gültigkeit nicht prüft und jegliche DTD ignoriert.

Als ereignisbasierter, nicht validierender XML-Parser ist Expat schnell und leichtgewichtig, wodurch es sich sehr gut für PHP-Webanwendungen eignet.

Hinweis: Das XML-Dokument muss wohlgeformt sein, sonst generiert Expat einen Fehler.

Installation:

Die XML-Expat-Parser-Funktion ist ein integraler Bestandteil des PHP-Kerns. Für die Nutzung dieser Funktionen ist keine Installation erforderlich.

XML-Datei

Die folgende XML-Datei wird in unserem Beispiel verwendet:



Tove
<from>Jani</from>
Reminder
Don't forget me this weekend!
Nach dem Login kopieren

Initialisierung des XML-Parsers

Wir werden den XML-Parser in PHP initialisieren, Handler für verschiedene XML-Ereignisse definieren und diese dann analysieren XML-Datei.

Der spezifische Code lautet wie folgt:

<?php
//Initialize the XML parser
$parser=xml_parser_create();
//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "NOTE":
    echo "-- Note --<br>";
    break;
    case "TO":
    echo "To: ";
    break;
    case "FROM":
    echo "From: ";
    break;
    case "HEADING":
    echo "Heading: ";
    break;
    case "BODY":
    echo "Message: ";
    }
  }
//Function to use at the end of an element
function stop($parser,$element_name)
  {
  echo "<br>";
  }
//Function to use when finding character data
function char($parser,$data)
  {
  echo $data;
  }
//Specify element handler
xml_set_element_handler($parser,"start","stop");
//Specify data handler
xml_set_character_data_handler($parser,"char");
//Open XML file
$fp=fopen("test.xml","r");
//Read data
while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or 

  die (sprintf("XML Error: %s at line %d", 

  xml_error_string(xml_get_error_code($parser)),

  xml_get_current_line_number($parser)));
  }
//Free the XML parser
xml_parser_free($parser);
?>
Nach dem Login kopieren

Der obige Code gibt Folgendes aus:

Wissen Sie, was XML Expat ist? Wie definiert er es?

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWissen Sie, was XML Expat ist? Wie definiert er es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!