#46432 [Fbk->Bgs]: xml_parse_into_struct() doesn't return correct data
ID: 46432
Updated by: rrichards@php.net
Reported By: jmpons at arenamobile dot com
-Status: Feedback
+Status: Bogus
Bug Type: XML related
Operating System: *
PHP Version: 5.2CVS-2008-10-31
Assigned To: rrichards
New Comment:
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same.
Thank you for your interest in PHP.
duplicate of bug #45996
Previous Comments:
------------------------------------------------------------------------
[2008-11-10 12:37:16] jmpons at arenamobile dot com
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.
------------------------------------------------------------------------
[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
Thread (5 messages)