PHP: DOMDocument – атрибуты с двоеточием в нем?

Я использую DOMDocument для анализа XML (SVG).

Некоторые узлы имеют атрибуты с двоеточием в нем, например:

<svg id="svg2" width="1000" height="1000" sodipodi:version="0.32" inkscape:version="0.48.1 " ... > 

Но когда я сделаю :

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

атрибуты с: печатаются без первой части (пространства имен)

Как получить пространство имен для этого атрибута при повторении с помощью таких атрибутов?

Related of "PHP: DOMDocument – атрибуты с двоеточием в нем?"

Ответ из комментария OP, nodeName из DOMNode .

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

Оригинальный ответ:

Как насчет prefix из DOMNode ?

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

Вам нужно будет работать с пространствами имен (это то, что указывает двоеточие) явно при использовании DOMDocument .

Взгляните на этот метод: http://www.php.net/manual/en/domelement.getattributenodens.php