ForceArray => 1 *# in - important*
This option should be set to '1' to force nested elements to be
represented as arrays even when there is only one.
...that you can use like so:
use XML::Simple; my $xml = XMLin(join('',<DATA>),ForceArray => 1); print XMLout($xml); __END__ <meta fpi="1234567890"> <isbn>1-234-56789-0</isbn> <edition>First</edition> <authorgroup> <author> <firstname>John</firstname> <surname>Smith</surname> <authorblurb url="http://www.someurl.com/etc/nothing.php"/> </author> </authorgroup> <pagenums>384</pagenums> <pubdate>October 2001</pubdate> <subjectset> <subject>some.lame.subject</subject> <subject>another.lame.subject</subject> </subjectset> <publisher> <publishername>Publisher Inc.</publishername> <imprintname>Publisher Inc.</imprintname> </publisher> </meta>
...I think that it outputs something very similar to what you're looking for...
hth
In reply to Re: XML::Simple "transforming data"
by Thelonious
in thread XML::Simple "transforming data"
by Grundle
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |