Как удалить ноде с определенным аттрибутом и значением?

sibwolf

Guest
PHP:Как удалить, при помощи DOM/XPath, объект с определенным значением аттрибута?

Есть ХМЛ - файл:


<?xml version="1.0" ?>
<newsLine lastID="11">
<news date="24.Feb.2005" id="1">
<title>werqwr</title>
<text>wrwqrw</text>
<url>rqwrqw</url>
</news>
<news date="25.Feb.2005" id="2">
<title>werqwr</title>
<text>wrwqrw</text>
<url>rqwrqw</url>
</news>
</newsLine>

необходимо удалить из него объект <news> с аттрибутом id равным 1


помогите пожалуйста, уже все перерыл - неужели это не возможно?!


вот как я это пытаюсь делать:

<?php
$xml = join('',file('news.xml'));
$xml = xmldoc($xml);
$root = $xml->root();
$news = $root->child_nodes();
$ctx = xpath_new_context($xml);
$xml->xpath_init();
$nodes = xpath_eval($ctx,"/newsLine/news[@id=11]");
$newsNode = $root->remove_child($nodes[@id = 1]);
$text = $xml->dumpmem();
$fp = fopen('news.xml','w');
fwrite($fp,$text);
fclose($fp);
?>

но ничего не выходит - выдает ошибку!!:confused:
 

slach

Новичок
$newsNode = $root->remove_child($nodes[@id = 1] - как минимум бред сивой кобылы...

читаем http://www.php.net/manual/en/function.domnode-remove-child.php

кстати потрудитесь прочитать правила форума... говорить "выдает ошибку" и не при водить точное значение Error Message это сильно ...
 
Сверху