#23631 [Opn]: xml_set_character_data_handler function called multiple times on one element

From: Date: Wed, 14 May 2003 21:11:09 +0000
Subject: #23631 [Opn]: xml_set_character_data_handler function called multiple times on one element
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-39668@lists.php.net to get a copy of this message
ID: 23631 User updated by: mrowe at pointsystems dot com Reported By: mrowe at pointsystems dot com Status: Open Bug Type: XML related Operating System: Win2k/RedHat Linux PHP Version: 4.3.1 New Comment: In the second paragraph, I should have stated: "When I parse some elements, the "character data handler" may get called multiple times for a single XML element." THANKS! Previous Comments: ------------------------------------------------------------------------ [2003-05-14 16:08:50] mrowe at pointsystems dot com Hi there, This may be a documentation issue, or an undocumented "feature." When I parse some elements, the "character data handler" may get called multiple times. Example: // start code // $xml = '<URL>http://www.php.net?a=1&amp;b=2&amp;c=3</URL>'; echo "xml = " . $xml . "\n\n"; $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); function startElement($parser, $tag, $attributes){ } function endElement($parser, $tag){ } function characterData($parser, $cdata){ if (!trim($cdata)) return; echo "data = " . $cdata . "\n"; } if (!xml_parse($xml_parser, $xml, true)){ echo "not parsed"; } // end code // The results are: data = http://slashdot.org?a=1 data = & data = b=2 data = & data = c=3 I'm expecting: data = http://www.php.net?a=1&amp;b=2&amp;c=3 The online docs state "The second parameter, data, contains the character data as a string." However, in each case, "data" is only PART of the character data. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=23631&edit=1

« previous php.bugs (#39668) next »