ID: 44973
Comment by: thomas dot sarlandie at backelite dot com
Reported By: norbert_schuetz at bigfoot dot com
Status: Verified
Bug Type: SimpleXML related
Operating System: Linux 2.6.18-5-686
PHP Version: 5.2.6
New Comment:
We have encountered the same problem.
PHP Versions:
* Windows / php 5.2.5 (WAMP 5)
* MacOSX php 5.2.5 (OsX 10.5.3)
* PHP 5.1.2 (linux/ubuntu edgy)
This is our test case:
<?php
//XML string
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<a last="1214311502">
<b>
<c name="xxx" a="negatif">
<valeur type="points">444</valeur>
<evo type="%">1.10</evo>
</c>
</b>
</a>';
// XML Parsing
$object_xml = simplexml_load_string($xml);
echo "<pre>";
print_r($object_xml);
echo "</pre>";
?>
regards,
thomas
Previous Comments:
------------------------------------------------------------------------
[2008-05-13 13:29:47] [EMAIL PROTECTED]
The attribute can be accessed, however toString really doesn't show
it.
print_r($xml->product[1]);
SimpleXMLElement Object
(
[EMAIL PROTECTED] => Array
(
[order_id] => 0002
)
[0] => PHP book
)
------------------------------------------------------------------------
[2008-05-12 15:44:22] norbert_schuetz at bigfoot dot com
Description:
------------
PHP Version: PHP 5.2.0-8+etch11 (CLI) from
php5-cli_5.2.0-8+etch10_i386.deb
Linux 2.6.18-5-686 #1 SMP Sun Aug 12 21:57:02 UTC 2007 i686 GNU/Linux
Simplexml support => enabled
Revision => $Revision: 1.151.2.22.2.15 $
Schema support => enabled
libexpat1_1.95.8-3.4_i386.deb
Description of problem:
For the second xml product item from the sample XML there is no
order_id-attribute in the resulting object, while both first an last
items have it.
Reproduce code:
---------------
<?php
$xmlstr=<<<EOXML
<?xml version='1.0' standalone='yes'?>
<products>
<product order_id="0001"></product>
<product order_id="0002">PHP book</product>
<product order_id="0003">
<name>PHP book</name>
</product>
</products>
EOXML;
$xml=new SimpleXMLElement($xmlstr);
print_r($xml);
?>
Expected result:
----------------
@attributes array for second item as well
Actual result:
--------------
SimpleXMLElement Object
(
[product] => Array
(
[0] => SimpleXMLElement Object
(
[EMAIL PROTECTED] => Array
(
[order_id] => 0001
)
)
[1] => PHP book
[2] => SimpleXMLElement Object
(
[EMAIL PROTECTED] => Array
(
[order_id] => 0003
)
[name] => PHP book
)
)
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44973&edit=1