PHP xml_set_default_handler()Functions
Complete PHP XML Reference Manual
Definition and Usage
The xml_set_default_handler() function establishes a default data handler for the XML parser.
This function specifies the function to be called whenever the parser finds data in the XML file.
If successful, the function returns TRUE. If it fails, it returns FALSE.
Syntax
xml_set_default_handler(parser,handler)
| Parameter | Description |
|---|---|
| parser | Required. Specifies the XML parser to use. |
| handler | Required. Specifies the function to be used as the event handler. |
The function specified by the "handler" parameter must have two parameters:
| Parameter | Description |
|---|---|
| parser | Required. Specifies a variable containing the XML parser that calls the handler. |
| data | Required. Specifies a variable containing the data in the XML file (as a string). |
Tips and Notes
Note:The handler parameter can also be an array containing an object reference and a method name.
Example
XML file
<?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>
PHP code
<?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);
?>
The output of the above code is as follows:
Tove Jani Reminder Don't forget me this weekend!
If you select "View Source" in the browser window, you will see the following 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>
Complete PHP XML Reference Manual Other Extensions