This is part of the pure PHP4 implementation of PHP5's interface SimpleXML. Due to the nature of PHP4 there are some differences to the PHP5 class. Since PHP5's SimpleXML implements the new ArrayIterator interface, this cannot be done with PHP4. So, you cannot access a node's attributes with array syntax - you should always use the attributes() method. Also, if you dump a PHP4 SimpleXMLElement using print_r() or something, you will notice much more output compared to PHP5. This is because PHP4 does not know about private or protected object properties.