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);
?>
но ничего не выходит - выдает ошибку!!
Есть ХМЛ - файл:
<?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);
?>
но ничего не выходит - выдает ошибку!!