SimpleXML returning attributes as objects instead of strings

From: 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

« previous php.internals (#11832) next »