La función xml_set_element_handler() especifica la función que se llamará al principio y al final de los elementos de un documento XML.
Si tiene éxito, la función devuelve VERDADERO. Si falla, devuelve FALSO.
xml_set_element_handler(analizador,inicio,fin)
parámetro | describir |
---|---|
analizador | Requerido. Especifica el analizador XML que se utilizará. |
comenzar | Requerido. Especifica una función que se llamará al principio de un elemento. |
fin | Requerido. Especifica la función que se llamará al final del elemento. |
La función especificada por el parámetro "inicio" debe tener tres parámetros:
parámetro | describir |
---|---|
analizador | Requerido. Especifica una variable que contiene el analizador XML que llama al procesador. |
nombre | Requerido. Especifica una variable que contiene el nombre (como una cadena) del elemento en el archivo XML que activa esta función. |
datos | Requerido. Especifica una matriz que contiene atributos de elementos (como cadenas) en el archivo XML. |
La función especificada por el parámetro "fin" debe tener dos parámetros:
parámetro | describir |
---|---|
analizador | Requerido. Especifica una variable que contiene el analizador XML que llama al procesador. |
nombre | Requerido. Especifica una variable que contiene el nombre (como una cadena) del elemento en el archivo XML que activa esta función. |
Nota: Los parámetros de inicio y fin pueden ser una matriz que contenga referencias de objetos y nombres de métodos.
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTA": echo "-- Nota --<br />"; "PARA": eco "Para: "; romper; caso "DESDE": eco "De: "; romper caso "TÍTULO": eco "Título: "; echo "Mensaje: "; } }función parada($parser,$element_name) { echo "<br />"; función char($parser,$datos) { echo $datos;xml_set_element_handler($parser,"inicio" ,"detener");xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r");mientras ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) o die (sprintf("Error XML: %s en la línea %d", xml_error_string(xml_get_error_code($parser )), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
La salida del código anterior se ve así:
-- Nota --Para: ToveDe: JaniEncabezado: Mensaje recordatorio: ¡No me olvides este fin de semana!