Forum Moderators: coopster

Message Too Old, No Replies

help: dom - removeChildNode

         

sneaks

5:48 pm on Sep 6, 2005 (gmt 0)

10+ Year Member



can anyone offer any help or advice, i am trying to remove the parent node of <Date>... the php.net reference doesnt offer much help for this... thanks & take care.

jonathan


<?php
/*
¦xml:
¦<index>
¦<item>
¦<date>20050904</date>
¦<title>Title One</title>
¦</item>
¦<item>
¦<date>20050813</date>
¦<title>Title two</title>
¦</item>
¦ </index>
*/

$dom = new DomDocument();
$dom->load("news/tomIndex.xml") or die ('Could not load file');
$root = $dom->documentElement;

$remove = '20050904'; //text 'date' data of node that is to be removed

$nodeItems = $dom->getElementsByTagName('Item');
$nodeDates = $dom->getElementsByTagName('Date');

$datecount = $nodeDates -> length;

for ($i = 0; $i < $datecount; $i++)
{
print $nodeItems -> item($i) -> textContent . ' ==== ';
print $nodeDates -> item($i) -> textContent . '<br />';

if (trim($nodeDates -> item($i) -> textContent) == $remove) {
print 'Found Date:' . $nodeDates -> item($i) -> textContent . ' - ' . $nodeItems ->item($i) . '<br />';
$removeNodeNumber = $i;

}
}

$dom -> getElementsByTagName('Item') -> item($removeNodeNumber)-> removeChild($nodeItems);

$newIndexFile = $dom->save('news/test.xml');

print 'done';
include 'footerDom.php';
?>

coopster

7:18 pm on Sep 6, 2005 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



When you say you are trying to remove the parent node of *date*, do you mean this section of the xml?
¦<item> 
¦<date>20050904</date>
¦<title>Title One</title>
¦</item>

sneaks

9:51 pm on Sep 6, 2005 (gmt 0)

10+ Year Member



thats correct...
j.