ID: 44973
Updated by: [email protected]
Reported By: norbert_schuetz at bigfoot dot com
-Status: Verified
+Status: Bogus
Bug Type: SimpleXML related
Operating System: Linux 2.6.18-5-686
PHP Version: 5.2.6
New Comment:
The attributes are there, you're just misusing simplexml:
Try this instead:
foreach ($xml->product as $foo)
var_dump($foo);
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
(
[...@attributes] => 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
(
[...@attributes] => Array
(
[order_id] => 0001
)
)
[1] => PHP book
[2] => SimpleXMLElement Object
(
[...@attributes] => Array
(
[order_id] => 0003
)
[name] => PHP book
)
)
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44973&edit=1