#46432 [Com]: xml_parse_into_struct() doesn't return correct data
| From: | jmpons at arenamobile dot com | 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 <br/> <a
href="http://www.google.com">url</a>
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