PHP xml_set_element_handler() Function

In this chapter you will learn:

  1. Description for PHP xml_set_element_handler() Function
  2. Syntax for PHP xml_set_element_handler() Function
  3. Parameter for PHP xml_set_element_handler() Function
  4. Return for PHP xml_set_element_handler() Function
  5. Example - specifies functions to be called at the start and end of an element in the XML document

Description

The xml_set_element_handler() function specifies functions to be called at the start and end of an element in the XML document.

Syntax

PHP xml_set_element_handler() Function has the following syntax.

xml_set_element_handler(parser,start,end)

Parameter

ParameterIs RequiredDescription
parserRequired.XML parser to use
startRequired.A function to be called at the start of an element
endRequired.A function to be called at the end of an element

The Function specified by the "start" parameter must have three parameters:

ParameterIs RequiredDescription
parserRequired.A variable containing the XML parser calling the handler
nameRequired.A variable containing the name of the elements, that triggers this function, from the XML file as a string
dataRequired.An array containing the elements attributes from the XML file as a string

The Function specified by the "end" parameter must have two parameters:

ParameterIs RequiredDescription
parserRequired.A variable containing the XML parser calling the handler
nameRequired.A variable containing the name of the elements, that triggers this function, from the XML file as a string

Return

This function returns TRUE on success, or FALSE on failure.

Example

XML File


<?xml version="1.0" encoding="ISO-8859-1"?>
<Book>//  ja  va  2s .c  o  m
    <name>PHP</name>
    <name>Java</name>
</Book>

Set functions to be called at the start and end of an element in the XML document


<?php//from   j  a v  a 2 s  . co m
$parser=xml_parser_create();

function start($parser,$element_name,$element_attrs){
  switch($element_name){
    case "name":
       echo "name";
    }
  }

function stop($parser,$element_name){
  echo "\n";
}
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,1024)){
  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);
?>

Next chapter...

What you will learn in the next chapter:

  1. Description for PHP xml_set_external_entity_ref_handler() Function
  2. Syntax for PHP xml_set_external_entity_ref_handler() Function
  3. Parameter for PHP xml_set_external_entity_ref_handler() Function
  4. Return for PHP xml_set_external_entity_ref_handler() Function
  5. Example - specifies a function to be called when the parser finds an external entity in the XML document