Esercitazione PHP

PHP HOME Introduzione a PHP Installazione PHP Sintassi PHP Commenti PHP Variabili PHP PHP Eco/Stampa Tipi di dati PHP Stringhe PHP Numeri PHP PHP matematica Costanti PHP Operatori PHP PHP Se...Altro...Altro Passaggio PHP Ciclo PHP Funzioni PHP Matrici PHP Superglobali PHP RegEx PHP

Moduli PHP

Gestione dei moduli PHP Convalida del modulo PHP Modulo PHP richiesto URL/e-mail del modulo PHP Modulo PHP completo

PHP avanzato

Data e ora PHP PHP Include Gestione dei file PHP Apri/Leggi file PHP Creazione/scrittura di file PHP Caricamento file PHP Cookie PHP Sessioni PHP Filtri PHP Filtri PHP avanzati Funzioni di callback PHP PHP JSON Eccezioni PHP

PHP OOP

PHP Che cos'è OOP Classi/Oggetti PHP Costruttore PHP PHP distruttore Modificatori di accesso PHP Ereditarietà PHP Costanti PHP Classi astratte PHP Interfacce PHP Tratti PHP Metodi statici PHP Proprietà statiche PHP Spazi dei nomi PHP Iterabili PHP

Database MySQL

Database MySQL MySQL Connect MySQL Crea DB MySQL Crea tabella Dati di inserimento MySQL MySQL Ottieni l'ultimo ID MySQL inserisce più MySQL preparato MySQL Seleziona dati MySQL dove MySQL Ordina per MySQL Elimina dati Dati di aggiornamento MySQL Dati limite MySQL

PHP XML

Parser XML PHP Analizzatore PHP SimpleXML PHP SimpleXML - Ottieni PHP XML espatriato PHP XML DOM

PHP - AJAX

Introduzione all'Ajax AJAX PHP Database AJAX XML AJAX Ricerca in tempo reale AJAX Sondaggio AJAX

Esempi PHP

Esempi PHP compilatore PHP Quiz PHP Esercizi PHP Certificato PHP

Riferimento PHP

Panoramica di PHP matrice PHP Calendario PHP Data PHP Directory PHP Errore PHP Eccezione PHP File system PHP Filtro PHP PHP FTP PHP JSON Parole chiave PHP PHP Libxml Posta PHP PHP matematica PHP Varie PHP MySQLi Rete PHP Controllo dell'output PHP RegEx PHP PHP SimpleXML Flusso PHP Stringa PHP Gestione delle variabili PHP Analizzatore XML PHP Zip PHP Fuso orario PHP

Parser PHP XML per espatriati


Il parser XML Expat integrato consente di elaborare documenti XML in PHP.


Il parser XML per espatriati

Il parser Expat è un parser basato su eventi.

Osserva la seguente frazione XML:

<from>Jani</from>

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

  • Elemento iniziale: da
  • Avvia sezione CDATA, valore: Jani
  • Chiudi elemento: da

Le funzioni XML Expat Parser fanno parte del core PHP. Non è necessaria alcuna installazione per utilizzare queste funzioni.


Il file XML

Il file XML "note.xml" verrà utilizzato nell'esempio seguente:

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


Inizializzazione dell'XML Expat Parser

Vogliamo inizializzare l'XML Expat Parser in PHP, definire alcuni gestori per diversi eventi XML e quindi analizzare il file XML.

Esempio

<?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("note.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);
?>

Esempio spiegato:

  1. Inizializzare il parser XML con la xml_parser_create()funzione
  2. Creare funzioni da utilizzare con i diversi gestori di eventi
  3. Aggiungere la xml_set_element_handler()funzione per specificare quale funzione verrà eseguita quando il parser incontra i tag di apertura e chiusura
  4. Aggiungi la xml_set_character_data_handler()funzione per specificare quale funzione verrà eseguita quando il parser incontra i dati dei caratteri
  5. Analizza il file "note.xml" con la xml_parse()funzione
  6. In caso di errore, aggiungere xml_error_string()la funzione per convertire un errore XML in una descrizione testuale
  7. Richiamare la xml_parser_free()funzione per liberare la memoria allocata con la xml_parser_create()funzione

Più Parser PHP XML per espatriati

Per ulteriori informazioni sulle funzioni PHP Expat, visita il nostro Riferimento per il parser PHP XML .