Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

You need to force a reference, otherwise XML::Simple folds simple elements into attributes

by inq123 (Sexton)
on Mar 21, 2005 at 18:40 UTC ( [id://441341]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to XML::Simple "transforming data"

The solution is actually just posted above - use ForceArray => 1 when you do XMLin(); The mechanism is as my title suggested: as long as you force a reference out of the value, that value will be treated as element instead of attribute when XMLout writes it out.

Here's the set of options that I found the best (for my usage, and probably for general usage) for XML::Simple:

my $obj = XMLin($filename, ForceArray => 1, ForceContent => 1, KeepRoo +t => 1, ContentKey => '_c', KeyAttr => []); open(OUT, ">$filename-1"); print OUT XMLout($obj, KeepRoot => 1, ContentKey => '_c', KeyAttr => [ +]);
Hope it helps.
  • Comment on You need to force a reference, otherwise XML::Simple folds simple elements into attributes
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://441341]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.