PHP: DOMDocument – atributos con dos puntos en él?

Estoy usando DOMDocument para analizar un XML (SVG).

Algunos nodos tienen atributos con dos puntos, como:

 

Pero cuando lo hago :

 $node= DOMDocument->documentElement; foreach($node->childNodes as $key=>$childnode) { foreach($childnode->attributes as $attribute) { echo $attribute->name."\n"; } } 

los atributos con a: se imprimen sin la primera parte (espacio de nombres)

¿Cómo obtengo el espacio de nombre para ese atributo al iterar a través de los atributos como este?

Respuesta del comentario de OP, nodeName from DOMNode .

 $node= DOMDocument->documentElement; foreach($node->childNodes as $key=>$childnode) { foreach($childnode->attributes as $attribute) { echo $attribute->nodeName."\n"; } } 

Respuesta Original:

¿Qué tal el prefix de DOMNode ?

 $node= DOMDocument->documentElement; foreach($node->childNodes as $key=>$childnode) { foreach($childnode->attributes as $attribute) { echo $attribute->prefix.":".$attribute->name."\n"; } } 

Tendrá que trabajar explícitamente con espacios de nombres (que es lo que indican los dos puntos) cuando use DOMDocument .

Eche un vistazo a este método: http://www.php.net/manual/en/domelement.getattributenodens.php