Los últimos tutoriales de desarrollo web
 

PHP xml_set_element_handler() Function


<Referencia completa de PHP XML

Definición y Uso

El xml_set_element_handler() función especifica las funciones que se llamará al comienzo y al final de un elemento en el documento XML.

Esta función devuelve TRUE en caso de éxito, en caso de fallo.

Sintaxis

xml_set_element_handler(parser,start,end)

Parámetro Descripción
parser Necesario. Especifica analizador XML para utilizar
start Necesario. Especifica una función a ser llamada en el inicio de un elemento
end Necesario. Especifica una función a ser llamada en el extremo de un elemento

La función especificada por el "start" parámetro debe tener tres parámetros:

Parámetro Descripción
parser Necesario. Especifica una variable que contiene el analizador XML que llama al gestor
name Necesario. Especifica una variable que contiene el nombre de los elementos, que activa esta función, desde el archivo XML como una cadena
data Necesario. Especifica una matriz que contiene los elements los atributos del archivo XML como una cadena

La función especificada por el "end" parámetro debe tener dos parámetros:

Parámetro Descripción
parser Necesario. Especifica una variable que contiene el analizador XML que llama al gestor
name Necesario. Especifica una variable que contiene el nombre de los elementos, que activa esta función, desde el archivo XML como una cadena

Notas y sugerencias

Note: Los parámetros de inicio y fin también puede ser una matriz que contiene una referencia de objeto y un nombre de método.


Ejemplo

<?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 "From: ";
    break;
    case "HEADING":
    echo "Heading: ";
    break;
    case "BODY":
    echo "Message: ";
    }
  }

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 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 será:

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

<Referencia completa de PHP XML