http://qs321.pair.com?node_id=755068


in reply to create XML element with namespace

I couldn't find anything that looks like it would help you in XML:DOM, so the next best thing I could do is try something similar with XML:LibXML

Here's some sample code that might help you:
#Open and parse XML open (my $input, "<xmlsample.xml")or die "Could not open xml input."; my $parser = XML::LibXML->new(); my $pdoc = $parser->parse_file('xmlsample.xml'); close ($input) or die "Could not close xml input."; #Register Namespace my $rdoc = XML::LibXML::XPathContext->new($pdoc->documentElement()); $rdoc->registerNs( ns => 'bazongNS' ); #Find node and add element my ($object) = $rdoc->findnodes("\/\/ns:root"); $object->addNewChild("bazongNS","element"); #Replace file open (my $OutputXML, ">xmlsample.xml") or die "Could not write XML fil +e."; print $OutputXML $pdoc->toString(); close ($OutputXML) or die "Could not close written XML file.";

The sampleXML.xml originally contains:
<root xmlns="bazongNS"> </root>

The sampleXML.xml output contains:
<?xml version="1.0"?> <root xmlns="bazongNS"> <element/> </root>

Hope this helps.

Replies are listed 'Best First'.
Re^2: create XML element with namespace
by bazong (Initiate) on Apr 06, 2009 at 12:25 UTC
    Thank you very much for your support. I realized my script as you recommented. Michael