Il miglior tutorial PHP XML Expat parser Nel 2024, in questo tutorial puoi imparare Che cosa è XML?,Cosa Expat sì?,installare,file XML,Inizializzare il parser XML,Maggiori informazioni PHP Expat parser,

PHP XML Expat parser

Built-in PHP Expat parser consente di elaborare documenti XML.


Che cosa è XML?

XML è utilizzato per descrivere i dati e di concentrarsi su quali dati Sì. file XML descrive la struttura dei dati.

In XML, non ci sono tag predefiniti. È necessario definire i propri tag.

Per ulteriori informazioni su XML, si prega di visitare il nostro tutorial di XML .


Cosa Expat sì?

Per leggere e aggiornamento - creare e processo - un documento XML, è necessario un parser XML.

Ci sono due tipi fondamentali di parser XML:

  • parser Tree-based: Questo parser trasforma un documento XML in una struttura ad albero. Esso analizza l'intero documento, e fornisce l'accesso agli elementi nella struttura, come il Document Object Model (DOM).
  • Event-based parser: Il documento XML come una serie di eventi. Quando si verifica un evento specifico, il parser chiamerà la funzione di elaborare.

parser Expat è parser basato su eventi.

Evento a base di fuoco parser sul contenuto di un documento XML, piuttosto che la loro struttura. A causa di questo, parser basato sugli eventi in grado di accedere ai dati più veloce di parser ad albero.

Si consideri il seguente frammento XML:

<from>Jani</from>

parser basato su eventi segnala l'XML sopra come una serie di tre eventi:

  • Inizia elemento: da
  • Inizio sezione CDATA, valore: Jani
  • Chiudi elemento: da

XML di esempio sopra contiene XML ben formato. Ma questo esempio non è XML valido, perché la dichiarazione del tipo di documento (DTD) non è associato con esso.

Tuttavia, quando si utilizza il parser Expat, questo non fa alcuna differenza. parser Expat non è selezionata per la validità, ignorare qualsiasi DTD.

Come, non convalidare parser XML basata su eventi, Expat veloce e leggero, molto adatto per le applicazioni Web PHP.

Nota: documento XMLdeve essere ben formato, altrimenti Expat genererà un errore.


installare

Funzioni relative al parser XML Expat fanno parte del core di PHP. Nessuna installazione necessaria per utilizzare queste funzioni.


file XML

Il file XML di seguito verrà utilizzato nel nostro esempio:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Inizializzare il parser XML

Vogliamo inizializzare il parser XML in PHP, definire processore per diversi eventi XML, e quindi analizzare il file XML.

Esempi

<?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);
?>

Il seguente output:

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

Come funziona:

  1. Con xml_parser_create () funzione inizializza il parser XML
  2. Creare con diversa funzione di gestore di eventi
  3. Aggiungere xml_set_element_handler () per definire, che funzione da eseguire quando il parser incontra i tag di inizio e fine
  4. Aggiungere xml_set_character_data_handler () per definire, che funzione da eseguire quando il parser incontra dati di caratteri
  5. Con xml_parse () per analizzare il file "Test.xml"
  6. Nel caso in cui si verifica un errore, quindi aggiungere xml_error_string () per convertire il testo XML descrizione dell'errore
  7. Chiamare xml_parser_free () per rilasciare assegnato a xml_parser_create) funzione di memoria (

Maggiori informazioni PHP Expat parser

Per ulteriori informazioni sulle funzioni PHP Expat, visitare il nostro PHP XML Parser Manuale di riferimento .

PHP XML Expat parser
10/30