in reply to adding XML records using XML::Twig
use strict; use warnings; use XML::Twig; my $xml = q( <sites> <site siteid="ONE"> <name>name1</name> <address>address1</address> <contact>contact1</contact> </site> <site siteid="TWO"> <name>name2</name> <address>address2</address> <contact>contact2</contact> </site> </sites> ); my $twig = XML::Twig->new(); $twig->parse($xml); my $root=$twig->root; my $site = $root->first_child('site'); my $cp = $site->copy(); $cp->set_att('siteid', 'THREE'); $cp->first_child('name')->set_text('name3'); $cp->paste('last_child', $root); my @sites = $root->children; for my $site (@sites){ print "Site ", $site->att("siteid"), "\n"; print "name ", $site->first_child('name')->text(), "\n"; } __END__ Site ONE name name1 Site TWO name name2 Site THREE name name3
Updated to use the copy method.
|
|---|