Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

create XML element with namespace

by bazong (Initiate)
on Apr 02, 2009 at 14:50 UTC ( #754990=perlquestion: print w/ replies, xml ) Need Help??
bazong has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I'm using XML:DOM to write a xml document. Basicly it works fine. BUT, I need additionally a namespace. Does anybody know if there is a method like this Java snippet: <code> Element root = odoc.createElementNS(myNamespace, myElementName); <code/> The method name to create an "normal" Element is identical to the Java method form and works! Thanks in advance Michael

Comment on create XML element with namespace
Replies are listed 'Best First'.
Re: create XML element with namespace
by ramrod (Chaplain) on Apr 02, 2009 at 18:31 UTC
    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.
      Thank you very much for your support. I realized my script as you recommented. Michael

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://754990]
Approved by kennethk
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2015-07-28 02:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (251 votes), past polls