PHP xml_set_element_handler() Funktion

Definition und Verwendung

Die Funktion xml_set_element_handler() erstellt Anfangs- und Endelement-Handler.

Falls der Processor erfolgreich erstellt wird, gibt die Funktion true zurück; andernfalls wird false zurückgegeben.

Syntax

xml_set_element_handler(parser,start,end)
Parameter Beschreibung
parser Erforderlich. Der zu verwendende XML-Parser wird angegeben.
start Erforderlich. Eine Funktion, die am Anfang des Elements aufgerufen wird, wird angegeben.
end Erforderlich. Eine Funktion, die am Ende des Elements aufgerufen wird, wird angegeben.

von start Die vom Parameter festgelegte Funktion muss drei Parameter haben:

Parameter Beschreibung
parser Erforderlich. Eine Variable, die den XML-Parser für den处理器 enthält, wird angegeben.
name Erforderlich. Eine Variable, die den Namen des Elements enthält, das diese Funktion auslöst, wird angegeben.
data Erforderlich. Ein Array, das die Elementeigenschaften enthält, wird angegeben.

von end Die vom Parameter festgelegte Funktion muss drei Parameter haben:

Parameter Beschreibung
parser Erforderlich. Eine Variable, die den XML-Parser für den处理器 enthält, wird angegeben.
name Erforderlich. Eine Variable, die den Namen des Elements enthält, das diese Funktion auslöst, wird angegeben.

Beschreibung

start und end Der Parameter kann auch ein Array sein, das Objektverweise und Methodennamen enthält.

Beispiel

<?php
$parser=xml_parser_create();
function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "NOTE":
    echo "-- Hinweis --<br />";
    break; 
    case "TO":
    echo "To: ";
    break; 
    case "FROM":
    echo "Von: ";
    break; 
    case "HEADING":
    echo "Überschrift: ";
    break; 
    case "BODY":
    echo "Nachricht: ";
    }
  }
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)) oder 
  die (sprintf("XML Fehler: %s in Zeile %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>

Ausgabe:

-- Anmerkung --
An: George
Von: John
Überschrift: Erinnerung
Nachricht: Vergiss das Treffen nicht!