Funzione xml_set_element_handler() di PHP
Definizione e uso
La funzione xml_set_element_handler() stabilisce i gestori degli elementi di inizio e fine.
Se il gestore viene creato con successo, la funzione restituirà true; altrimenti restituirà false.
Sintassi
xml_set_element_handler(parser,inizio,fine)
Parametri | Descrizione |
---|---|
parser | Obbligatorio. Specifica l'elaboratore XML da utilizzare. |
inizio | Obbligatorio. Specifica la funzione chiamata all'inizio dell'elemento. |
fine | Obbligatorio. Specifica la funzione chiamata alla fine dell'elemento. |
Da inizio Il parametro specificato deve avere tre parametri:
Parametri | Descrizione |
---|---|
parser | Obbligatorio. Specifica una variabile che contiene l'elaboratore XML per la解析. |
nome | Obbligatorio. Specifica una variabile che contiene il nome dell'elemento, che scatena la funzione. |
data | Obbligatorio. Specifica un array che contiene le proprietà dell'elemento. |
Da fine Il parametro specificato deve avere tre parametri:
Parametri | Descrizione |
---|---|
parser | Obbligatorio. Specifica una variabile che contiene l'elaboratore XML per la解析. |
nome | Obbligatorio. Specifica una variabile che contiene il nome dell'elemento, che scatena la funzione. |
Descrizione
inizio e fine I parametri possono anche essere un array che contiene riferimenti agli oggetti e i nomi dei metodi.
Esempio
<?php $parser=xml_parser_create(); function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Note --<br />"; break; case "A": echo "A: "; break; case "FROM": echo "Da: "; break; case "HEADING": echo "Intestazione: "; break; case "BODY": echo "Messaggio: "; } } funzione stop($parser,$element_name) { echo "<br />"; } funzione char($parser,$data) { echo $data; } xml_set_element_handler($parser,"start","stop"); xml_set_character_data_handler($parser,"char"); $fp=fopen("test.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("Errore XML: %s alla riga %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>
Output:
-- Note -- A: George Da: John Intestazione: Promemoria Messaggio: Non dimenticare l'incontro!