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!