Эта тема на forum.dklab.ru


tbfg: Непонятный глюк с XML

Fatal error: Call to a member function getNamedItem() on a non-object in I:\ugasoft\dim_menu_xml\php7E.tmp on line 31


Строка 31

$name=$attr->getNamedItem('name');


Быть того неможет чтобы в $name ничего небыло. Есть предположение что это из=за изменения в XML, но они были совершенно неглобыльные.


Дальше больше. Делаю вардамп

var_dump($attr);

object(DOMNamedNodeMap)#6 (0) { } object(DOMNamedNodeMap)#10 (0) { } object(DOMNamedNodeMap)#14 (0) { } object(DOMNamedNodeMap)#18 (0) { } NULL


Но всеравно ругается на

$name=$attr->getNamedItem('name');


Fatal error: Call to a member function getNamedItem() on a non-object in I:\ugasoft\dim_menu_xml\php7E.tmp on line 31


Это вообще парадокс.


Вот еще что удалось выяснить.
При распечатке имен дочерних нод пишет:

group
group
group
group
#text


Но реально дочерних только 4!!!!!! Что такое #text????????.

Смотрел XML с ShellXML - он говорит что все намана.
SNiP:
попробуйте:
$name = (is_null($attr)) ? null : $attr->getNamedItem('name')
ExHealer:
#text -- просто текстовая нода, в ней не может быть атрибутов.

К примеру, <node alt="example">test</node> раскладывается на две ноды c nodeName -- node и #text.

http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#DOMString

Definition group NodeType, прочитайте.
Обратите внимание на колонку attributes в таблице.

Эта тема на forum.dklab.ru