PHP xml_set_element_handler() funktionen

Definition och användning

Funktionen xml_set_element_handler() bygger upp start- och sluthanterare för element.

Om hanteraren byggs framgångsrikt, returnerar funktionen true; annars returnerar den false.

Syntax

xml_set_element_handler(parser,start,slut)
Parametrar Beskrivning
parser Obligatorisk. Ange den XML-parser som ska användas.
start Obligatorisk. Ange en funktion som anropas när elementet startas.
slut Obligatorisk. Ange en funktion som anropas när elementet avslutas.

av start Den funktion som parametern specificerar måste ha tre parametrar:

Parametrar Beskrivning
parser Obligatorisk. Ange en variabel som innehåller XML-parser som används för att hantera XML.
name Obligatorisk. Ange en variabel som innehåller namnet på elementet som utlöser denna funktion.
data Obligatorisk. Ange en array som innehåller elementets egenskaper.

av slut Den funktion som parametern specificerar måste ha tre parametrar:

Parametrar Beskrivning
parser Obligatorisk. Ange en variabel som innehåller XML-parser som används för att hantera XML.
name Obligatorisk. Ange en variabel som innehåller namnet på elementet som utlöser denna funktion.

Beskrivning

start och slut Parametern kan också vara en array som innehåller objektreferenser och metodnamn.

Exempel

<?php
$parser=xml_parser_create();
function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "ANMÄRKNING":
    echo "-- Anmärkning --<br />";
    break; 
    case "TILL":
    echo "Till: ";
    break; 
    case "FROM":
    echo "Från: ";
    break; 
    case "HEADING":
    echo "Rubrik: ";
    break; 
    case "BODY":
    echo "Meddelande: ";
    }
  }
function stop($parser,$element_name)
  {
  echo "<br />";
  }
function 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 
  dö (sprintf("XML Error: %s på rad %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>

Uttanande:

-- Anmärkning --
Till: George
Från: John
Rubrik: Påminnelse
Meddelande: Glöm inte mötet!