#46432 [Com]: xml_parse_into_struct() doesn't return correct data

From: Date: Mon, 10 Nov 2008 12:37:16 +0000
Subject: #46432 [Com]: xml_parse_into_struct() doesn't return correct data
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-130831@lists.php.net to get a copy of this message
ID: 46432 Comment by: jmpons at arenamobile dot com Reported By: jmpons at arenamobile dot com Status: Feedback Bug Type: XML related Operating System: * PHP Version: 5.2CVS-2008-10-31 Assigned To: rrichards New Comment: Oh, I didn't know there was this bug opened already, I did not find it when I did the search. My apologies. I will follow the other bug to see possible solutions and how this is evolving. Thanks to you a lot. Previous Comments: ------------------------------------------------------------------------ [2008-11-03 17:00:21] rrichards@php.net Do you happen to be using libxml2 2.7.x when testing with 5.2.6? If so, this is the same as bug #45996. ------------------------------------------------------------------------ [2008-10-31 18:04:51] jani@php.net Tested by compiling with libexpat and it works. When compiled with libxml it does not work. So it's just incompatibility between libexpat and libxml. Rob, can you check this out? ------------------------------------------------------------------------ [2008-10-30 16:33:29] jmpons at arenamobile dot com Description: ------------ With php 5.2.6, parsing xml code with html inside, return a bad parsed string... I have checked it with php 5.2.5 and it works fine... Reproduce code: --------------- <?xml version="1.0" encoding="ISO-8859-1"?> <tree> <node>bla bla bla &lt;br/&gt; &lt;a href="http://www.google.com"&gt;url&lt;/a&gt; blah...</node> </tree> <?php $file = "test.xml"; $data = implode("", file($file)); $parser = xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, $data, $values, $tags); xml_parser_free($parser); print_r($values); ?> Expected result: ---------------- Array ( [0] => Array ( [tag] => tree [type] => open [level] => 1 ) [1] => Array ( [tag] => node [type] => complete [level] => 2 [value] => bla bla bla <br/><a href="http://www.google.com">url</a> blah... ) [2] => Array ( [tag] => tree [type] => close [level] => 1 ) ) Actual result: -------------- Array ( [0] => Array ( [tag] => tree [type] => open [level] => 1 ) [1] => Array ( [tag] => node [type] => complete [level] => 2 [value] => bla bla bla br/a href="http://www.google.com"url/a blah... ) [2] => Array ( [tag] => tree [type] => close [level] => 1 ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46432&edit=1

« previous php.bugs (#130831) next »