PHP xml_set_element_handler() Function
Complete PHP XML Reference
Definition and Usage
The xml_set_element_handler() function specifies functions to be called at
the start and end of an element in the XML document.
This function returns TRUE on success, or FALSE on
failure.
Syntax
|
xml_set_element_handler(parser,start,end)
|
| Parameter |
Description |
| parser |
Required. Specifies XML parser to use |
| start |
Required. Specifies a function to be called at the start of
an element |
| end |
Required. Specifies a function to be called at the end of
an element |
The Function specified by the "start" parameter must have three parameters:
| Parameter |
Description |
| parser |
Required. Specifies a variable containing the XML parser
calling the handler |
| name |
Required. Specifies a variable containing the name of the
elements, that triggers this function,
from the XML file as a string |
| data |
Required. Specifies an array containing the elements
attributes from the XML file as a string |
The Function specified by the "end" parameter must have two parameters:
| Parameter |
Description |
| parser |
Required. Specifies a variable containing the XML parser
calling the handler |
| name |
Required. Specifies a variable containing the name of the
elements, that triggers this function,
from the XML file as a string |
Tips and Notes
Note: The start and end parameters can also be an array containing an
object reference and a method name.
Example
<?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);
?>
|
The output of the code above will be:
-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!
|
Complete PHP XML Reference
Start Creating a stunning, Flash website. It's easy and free!
Wix.com offers you a simple, powerful, drag & drop editing platform to create stunning Flash websites, layouts, and more.
With added e-commerce features such as search engine visibility and professional tools, Wix is the ultimate solution for creating a spectacular site.
 |
W3Schools' Online Certification Program
The perfect solution for professionals who need to balance work, family, and career building.
More than 4000 certificates already issued!
|
The HTML Certificate documents your knowledge of HTML, XHTML, and CSS.
The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM.
The XML Certificate documents your knowledge of XML, XML DOM and XSLT.
The ASP Certificate documents your knowledge of ASP, SQL, and ADO.
The PHP Certificate documents your knowledge of PHP and SQL (MySQL).
|