[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Fatal error getAttribute()
Guest
Здравсвуйте.
У меня в скрипте иногда возникает следующая ошибка
PHP Fatal error: Call to a member function getAttribute() on a non-object in btl.php on line 18
Я знаю что атрибут в xml файле существует, проверял. Ошибка возникает не всегда и я не понимаю почему. Как поправить?

Часть кода:
$doc = new DOMDocument; // файл боя
$doc->loadXML("<root>".$f."</root>");
$battle = $doc->getElementsByTagName('BATTLE');
$info = $battle->item(0)->getAttribute('note'); // line 18, здесь ошибка возникает



Часть xml файла $f:
<BATTLE t="45" t2="45" new_battle="1" turn="1" cl="0" k="6" f="D" note="173,179,1281354356">
...
</BATTLE>




Спустя 24 минуты, 14 секунд (9.08.2010 - 19:38) uMnepaTop написал(а):
мм, судя по названию тега "BATTLE" думаю, что между этими тегами ссылка на на какой нить бой, какой нить игрушки..
если это так, то эта ссылка на бой, обычно пропадает, когда боя нет unsure.gif

зы: а что за игрушка?

Спустя 33 минуты, 53 секунды (9.08.2010 - 20:12) linker написал(а):
Ошибка возникает потому, что
$doc->getElementsByTagName('BATTLE');
возвращает null, но т.к. не существует проверки возвращаемого результата, имеем ошибку.

Спустя 9 минут (9.08.2010 - 20:21) Guest написал(а):
linker, а почему возвращает null, если элемент существует?

Спустя 4 минуты (9.08.2010 - 20:25) linker написал(а):
Guest
Никто не мешает тебе проверить, либо так
echo $f;
либо так
if (!($battle->item(0) instanceof DomElement)) echo "Ничего мне не вернули.";

Спустя 40 минут, 36 секунд (9.08.2010 - 21:05) Guest написал(а):
В файле $f есть элемент BATTLE, почему линкер его не находит?

Проверку сделаю, но Крону в след. придется тот же файл анализировать, а не переходить к следующему. И так и будет крутиться на месте и пытаться найти этот BATTLE и не находить, хотя он есть.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.