PHP xml_set_element_handler() functie

Definitie en gebruik

De functie xml_set_element_handler() stelt begin- en eind-elementhandlers in.

Als de processor succesvol wordt opgesteld, retourneert deze functie true; anders retourneert het false.

Syntaxis

xml_set_element_handler(parser,start,einde)
Parameters Beschrijving
parser Verplicht. Specificeer de XML-parser die moet worden gebruikt.
start Verplicht. Specificeer de functie die wordt aangeroepen bij het begin van het element.
einde Verplicht. Specificeer de functie die wordt aangeroepen bij het einde van het element.

door start De functie die door de parameter wordt voorgeschreven moet drie parameters hebben:

Parameters Beschrijving
parser Verplicht. Specificeer een variabele die de XML-parser van de processor bevat.
naam Verplicht. Specificeer een variabele die de naam van het element bevat dat de functie triggert.
data Verplicht. Specificeer een array die de elementeigenschappen bevat.

door einde De functie die door de parameter wordt voorgeschreven moet drie parameters hebben:

Parameters Beschrijving
parser Verplicht. Specificeer een variabele die de XML-parser van de processor bevat.
naam Verplicht. Specificeer een variabele die de naam van het element bevat dat de functie triggert.

Beschrijving

start en einde De parameter kan ook een array zijn, die objectverwijzingen en methodenamen bevat.

Voorbeeld

<?php
$parser=xml_parser_create();
function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "NOTE":
    echo "-- Note --<br />";
    break; 
    case "TO":
    echo "To: ";
    break; 
    case "FROM":
    echo "Van: ";
    break; 
    case "HEADING":
    echo "Kop: ";
    break; 
    case "BODY":
    echo "Bericht: ";
    }
  }
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 
  die (sprintf("XML Fout: %s op regel %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>

Uitvoer:

-- Opmerking --
Aan: George
Van: John
Kop: Herinnering
Bericht: Vergeet het vergadering niet!