add a note add a note

User Contributed Notes 3 notes

up
0
dajohny at gmail dot com
5 years ago
<?xml version="1.0"?>
<galleries>
  <gallery title="test" intro="">
    <image/>
    <image/>
  </gallery>
  <gallery title="test1" intro="">
    <image/>
    <image/>
    <image/>
    <image/>
   </gallery>
  <gallery title="test2" intro="">
    <image/>
    <image/>
    <image/>
    <image/>
  </gallery>
</galleries>

<?php
$dom
= domxml_open_file($xmlfilename, DOMXML_LOAD_DONT_KEEP_BLANKS)
$x = $dom->get_elements_by_tagname('youtagname');

for(
$i=0;$i<count($x);$i++)
{
   
// to remove a particular node by finding the
   
if($x[$i]->get_attribute('title')=="test1")
    {
       
$remnode $x[$i]->node_name();
       
$x[$i]->unlink_node($remnode);
       
$dom->dump_file($xmlfilename, false, true);
    }
}

// Final xml will be like this:
?>

<?xml version="1.0"?>
<galleries>
  <gallery title="test" intro="">
    <image/>
    <image/>
  </gallery>
  <gallery title="test2" intro="">
    <image/>
    <image/>
    <image/>
    <image/>
  </gallery>
</galleries>

Njoi :)
up
0
starloran at hotmail dot com
9 years ago
I tried to use unlink_node to delete a node, but it never worked.
However, you can delete a node with this:

function delNode($node){
                   $nud=$node->parent_node();
                   $nud->remove_child($node);
}
up
0
phpnotes AT no Spam dot phillfox.net
11 years ago
Just like dump_node*, this method requres the node as an argument.
Like this:
      $removeThis = $dom->get_element_by_id ('26');
      $unlinked = $removeThis->unlink_node($removeThis);

In the example above, $unlinked seems to be NULL.

I'm using 4.3.0-dev (build: Nov 14 2002 10:13:12) in Module mode on Apache/1.3.24 - Win2000.

* see: http://www.php.net/manual/en/function.domnode-dump-node.php
To Top