PHP xml_set_default_handler()Funciones
Manual de referencia completo de PHP XML
Definición y uso
La función xml_set_default_handler() establece el controlador de datos predeterminado para el analizador XML.
Esta función especifica la función que se llamará siempre que el analizador encuentre datos en el archivo XML.
Si tiene éxito, la función devuelve TRUE. Si falla, devuelve FALSE.
Sintaxis
xml_set_default_handler(parser,handler)
| Parámetros | Descripción |
|---|---|
| parser | Requerido. Especifica el analizador XML a utilizar. |
| handler | Requerido. Especifica la función utilizada como controlador de eventos. |
La función especificada por el parámetro "handler" debe tener dos parámetros:
| Parámetros | Descripción |
|---|---|
| parser | Requerido. Especifica una variable que contenga el analizador XML que llama al controlador. |
| data | Requerido. Especifica una variable que contenga los datos del archivo XML (como cadena). |
Consejos y notas
Nota:El parámetro handler también puede ser una matriz que contenga una referencia a un objeto y el nombre del método.
Ejemplo
Archivo XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Código PHP
<?php
$parser=xml_parser_create();
function default($parser,$data)
{
echo $data;
}
xml_set_default_handler($parser,"default");
$fp=fopen("test.xml","r");
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
xml_parser_free($parser);
?>
$parser=xml_parser_create();
function default($parser,$data)
{
echo $data;
}
xml_set_default_handler($parser,"default");
$fp=fopen("test.xml","r");
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %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 muestra a continuación:
Tove Jani Reminder Don't forget me this weekend!
Si selecciona "Ver código fuente" en la ventana del navegador, verá el siguiente HTML:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Manual de referencia completo de PHP XML Otras extensiones