удалить node из xml файла

louder

Новичок
удалить node из xml файла

Добрый день.
Возникла необходимость редактировать созданные xml файлы.
Вот структура xml
<?xml version="1.0"?>
<club>
<photo id="f1" filename="1230993229.jpg" thumbnail="ico_1230993229.jpg" description="96"/>
<photo id="f2" filename="1230993240.jpg" thumbnail="ico_1230993240.jpg" description="171"/>
<photo id="f3" filename="1230993244.jpg" thumbnail="ico_1230993244.jpg" description="112"/>
<photo id="f4" filename="1230993260.jpg" thumbnail="ico_1230993260.jpg" description="113"/>
</club>
суть в том, что возникла необходимость удалять некоторые фотки. Соотв. и записи из xml.
пробую через getElementByID и removeChild .. но не получается..
ругается Notice: Trying to get property of non-object in ...
Пишу сюда после долгих поисков. Может кто подскажет хоть в какую сторону смотреть ?
Спасибо!
 

slach

Новичок
ты для начала хотябы версию php скажи

ну предположим у тебя php5
что конкретно тебе непонятно в документации?
http://www.php.net/manual/ru/domnode.removechild.php
особенно в приводимых там примерах кода??


ок. я сегодня добренький... авось мне воздастся...
для твоег ослучая если надо удалить photo заданным id
будет работать следующий код

PHP:
<?php
$doc = DOMDocument::load('club.xml');
$club=$doc->documentElement;

$xpath= new DOMXpath($doc);
$photos = $xpath->query('/club/photo[@id="f1"]');
foreach($photos as $photo) {
  $old_photo=$club->removeChild($photo);
}

echo $doc->saveXML();
?>
-~{}~ 05.01.09 12:30:

судя по тексту сообщения
ты пытался НЕ ИЗ ТОЙ ноды сделать removeChild
либо у тебя getElementById
null возвращал

-~{}~ 05.01.09 12:31:

getElementByID
не работал потому что надо писать

ID="f1"
вместо id="f1"

либо в DTD объявлять что id тоже является ID ;)
 
Сверху