Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

XML Adding Node Problem.

by huchister (Acolyte)
on Oct 23, 2012 at 19:53 UTC ( #1000516=perlquestion: print w/replies, xml ) Need Help??
huchister has asked for the wisdom of the Perl Monks concerning the following question:

Greetings, I am trying to load up move XML variable and 'attribute' to another XML file. However, I am having trouble using XML::Bare. Here is the source.xml that I want to move.
<vars> <field name="loc" val="{$loc}" type="static" /> <field name="fullURL" val="" type="static" /> <field name="locinfo" val="{$location=~ tr/a-z/A-Z/;}" type="stati +c" /> </vars>
Here is the part of code that I am having problem with. ex)
use XML::Bare qw/xget xval forcearray/; . . . . my $fields = XML::Bare::forcearray( $config->{'field'} ); $ob->add_node($rxml, 'vars', $fields); . . . .
In result from destination.xml
<multi_vars /> <vars> <ARRAY(0xeea3ac0) /> </vars>
I want the result to be....
<multi_vars /> <vars> <loc /> <fullURL /> <locinfo /> </vars>
In which loc, fullURL, locinfo contains value from source.XML Please recommand me a useable XML base, I was thinking somehow I can pass $fields variable in string format.......

Replies are listed 'Best First'.
Re: XML Adding Node Problem.
by roboticus (Chancellor) on Oct 23, 2012 at 21:12 UTC


    It appears that the reason you're getting <ARRAY(0xeea3ac0)> in there is because you're handing an array of nodes to a function that expects to add a single node to the XML tree. Perhaps it might work if you add them one at a time--maybe like this:

    $ob->add_node($rxml, 'vars', $_) for @$fields;

    Caveat: I've never used XML::Bare, so I may have misdiagnosed or some such.


    When your only tool is a hammer, all problems look like your thumb.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1000516]
Approved by Corion
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2018-07-22 07:19 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (452 votes). Check out past polls.