#34591 [Opn->Fbk]: XML parsing seems to skip some data

From: Date: Thu, 22 Sep 2005 11:48:42 +0000
Subject: #34591 [Opn->Fbk]: XML parsing seems to skip some data
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-85433@lists.php.net to get a copy of this message
ID: 34591 Updated by: tony2001@php.net Reported By: priit at ww dot ee -Status: Open +Status: Feedback Bug Type: XML related Operating System: Windows XP SP2 PHP Version: 5.0.5 New Comment: Well, then try to provide really complete reproduce script? I doubt that "$file = 'failid/kontakt.xml'; .." will work without the .xml file. Previous Comments: ------------------------------------------------------------------------ [2005-09-22 13:37:50] priit at ww dot ee ... ------------------------------------------------------------------------ [2005-09-21 23:38:27] priit at ww dot ee charset has nothing to do with it. I tried converting the input to latin1 first and utf8 and changed the xml_parser_create charset accordingly, but the result was the same always! the characters in my example xml are compatible with ISO-8859-1 although the xml input it sayd to be ISO-8859-15 ... if I changed the xml itself also to something else the result was still the same. ------------------------------------------------------------------------ [2005-09-21 23:35:56] priit at ww dot ee <?php $file = 'failid/kontakt.xml'; function startElement($parser, $name, $attrs) { global $temp_name; $temp_name = $name; } function endElement($parser, $name) { global $temp_name,$temp_value,$moodul; if($temp_name==$name) {$moodul .= "($temp_name : $temp_value)\n";} } function characterData($parser, $data) { global $temp_value; $temp_value = $data; } $moodul = '<PRE>'; $xml_parser = xml_parser_create('ISO-8859-1'); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } $data = fread($fp, filesize($file)); if(!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser); $moodul .= '</PRE>'; echo $moodul; ?> ------------------------------------------------------------------------ [2005-09-21 23:17:34] sniper@php.net Try using compatible charset. ------------------------------------------------------------------------ [2005-09-21 23:15:36] priit at ww dot ee using php code: $xml_parser = xml_parser_create('ISO-8859-1'); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); $data = fread($fp, filesize($file)); if(!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser); ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/34591 -- Edit this bug report at http://bugs.php.net/?id=34591&edit=1

« previous php.bugs (#85433) next »