Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Fatal error: Uncaught exception 'DOMException'

Ответить
Настройки темы
[решено] Fatal error: Uncaught exception 'DOMException'

Пользователь


Сообщения: 78
Благодарности: 17

Профиль | Отправить PM | Цитировать


Подскажите,
Вот такая ошибка вылезает при удалении ветки из ХМЛ...
Цитата:
Fatal error: Uncaught exception 'DOMException' with message 'Not Found Error' in /home/www/docs/test1/change-xml.php:96 Stack trace: #0 /home/www/docs/test1/change-xml.php(96): DOMNode->removeChild(Object(DOMElement)) #1 {main} thrown in /home/www/docs/test1/change-xml.php on line 96
Код:
Цитата:
if ($act=='del') // delete
{
$doc->load('test.xml');

$xpath = new DOMXPath($doc);

$query = "//cat[@id='".$_POST['id']."']/descendant-or-self::*";

$entries = $xpath->query($query);

foreach ($entries as $entry) {
$arr[]=$entry->getAttribute('id');
}
foreach ($arr as $node) {
echo $node.'<br>';
}

$entry=$entries->item(0);

$child = $doc->documentElement;

$child->removeChild($entry);

$doc->save('test.xml');
}
2 дня назад код работал!!! видимо это связано с изменением файла ХМЛ...

Цитата:
<cat id="0">
<cat name="asd" id="29"/>
<cat name="фыва" id="54"/>
<cat name="Кометы" id="55">
<cat name="asd1" id="56">
<cat name="asd" id="57"/>
</cat>
</cat>
</cat>
С чем это связано? и как предотвратить появление этой ошибки?

Отправлено: 16:14, 19-03-2008

 

Старожил


Сообщения: 313
Благодарности: 46

Профиль | Отправить PM | Цитировать


привет. Я с xpath никогда не работал, однако все новое для меня интересно. Я сразу заметил что находятся нужные элементы правильно, главное удалить правильно. Покопавшись немного сотворил следующее:

Код: Выделить весь код
//-------------Переделал твой пост на мой get так что внимательней
$act = $_GET["act"];

$doc = new DOMDocument;

// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

// source
$doc->Load('test.xml');

if ($act=='del') // delete
{
$doc->load('test.xml');

$xpath = new DOMXPath($doc);

//-------------тут маленько исправил
$query = "//cat[@id=".$_GET['id']."]";

$entries = $xpath->query($query);

foreach ($entries as $entry) {
echo "***-";
echo $entry->getAttribute('id');
echo "+***";
if($entry->getAttribute('id')==$_GET['id'])	
       //----------------вот это решение
	$entry->parentNode->removeChild($entry);
}
$doc->save('test2.xml');
}
ты правильно нашел ноду а удалить ее надо к предку обращаться и убить саму себя
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:00, 20-03-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 78
Благодарности: 17

Профиль | Отправить PM | Цитировать


Спасибо!!!
Ошибка как раз была в том что я использовал

Цитата:
$entry=$entries->item(0);

$child = $doc->documentElement;

$child->removeChild($entry);
А надо
Цитата:
$entry=$entries->item(0);

$child = $entry->parentNode;

$child->removeChild($entry);

Отправлено: 01:21, 20-03-2008 | #3



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Fatal error: Uncaught exception 'DOMException'

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Пожалуйста помогите! Chassis intruded ! Fatal Error.....System Halted MAD USER 69 Непонятные проблемы с Железом 24 02-02-2014 22:54
Ошибка - NT_Kernel error 1276 (EXCEPTION NOT HANDLED) - что такое? Ivan Petrov Microsoft Windows 2000/XP 1 02-02-2008 23:35
Bacula Fatal error ponomarenkoartem Общий по FreeBSD 1 04-09-2007 13:16
При попытке перетащить файл появляется Fatal Error.... AndDm Microsoft Windows 2000/XP 3 23-11-2006 16:06
Fatal error при установке XP . не устанавливается ...:( Eug Microsoft Windows 2000/XP 6 16-01-2005 12:25




 
Переход