SimpleXML returning attributes as objects instead of strings
| From: | David Sklar | Date: | Mon, 02 Aug 2004 20:53:49 +0000 |
| Subject: | SimpleXML returning attributes as objects instead of strings | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-11832@lists.php.net to get a copy of this message | ||
SimpleXML returns attribute values as SimpleXMLElement objects instead of strings. E.g, given this:
$sxe = simplexml_load_string('<octopus arms="eight" legs="">Doc Ock</octopus>');
$sxe['arms'] and $sxe['legs'] are SimpleXMLElement objects.
This mostly works OK, but causes problems when using empty() to test if an attribute has a value. empty($sxe['arms']) is false, but so is empty($sxe['legs']).
An easy workaround is to use strlen() instead of empty(), I suppose (except if an attribute value is "0"), but I am wondering why SimpleXML works this way.
Thanks,
David