PHP xml_set_character_data_handler()Functions
Complete PHP XML Reference Manual
Definition and Usage
The xml_set_character_data_handler() function establishes a character data handler for the XML parser.
This function specifies the function to be called when the parser finds character data in the XML file.
If successful, the function returns TRUE. If it fails, it returns FALSE.
Syntax
xml_set_character_data_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 character data from the XML file in string form. |
Tips and Notes
Note:The handler parameter can also be an array containing an object reference and a method name.
Examples
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 char($parser,$data)
{
echo $data;
}
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);
?>
$parser=xml_parser_create();
function char($parser,$data)
{
echo $data;
}
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 above code is shown below:
Tove Jani Reminder Don't forget me this weekend!
Complete PHP XML Reference Manual Other Extensions