You can do this in XML::Twig by creating the element with the parse method:
#!/bin/perl -w use strict; use XML::Twig; # create and load the twig (with pretty_print option) my $twig= new XML::Twig( pretty_print => 'indented'); $twig->parse( \*DATA); # get the insertion spot, you could also use the get_xpath method my $insert= $twig->root->first_child( 'insert'); # parse the text into a twig element my $text="<p>this is a paragraph with some <abbrev>XML</abbrev> in it< +/p>"; my $elt= parse XML::Twig::Elt( $text); # replace the <insert> element by the new one, you # can use $elt->insert to... insert the element $elt->replace( $insert); # out we go! $twig->print; print "\n"; __DATA__ <?xml version="1.0"?> <doc> <elt>just a filler</elt> <insert /> <elt>just another filler</elt> </doc>
You can go to the XML::Twig page for more info, including a new Quick Ref page to sort out the important from the rest in the doc ;--)
In reply to Re: inserting text into an XML tree
by mirod
in thread inserting text into an XML tree
by thraxil
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |