Let's say that I have an XML file similar to
When I run my simple test program<a> <b type="1"/> <b type="2"/> <c/> <b type="3"/> </a>
I get the expected output, which tells me that 'a' is an array of hashes with 'b' and 'c' as the two elements. The problem is that there is no way to identify the order of <b> and <c> tags simply by looking at the $info structure. In other words, I can't tell that <b type="2"/> is the direct predecessor of the <c> tag.use warnings; use strict; use XML::Simple qw(:strict); use XML::SAX::Expat; use Data::Dumper; my $xmlParser = XML::Simple->new( ForceArray => 1, # force the contents of all elements to be an + array KeepRoot => 1, # keep the root tag SuppressEmpty => '', # represent empty elements as empty strings KeyAttr => {}, # do not fold any tags ); my $info = $xmlParser->XMLin('<a><b type="1"/><b type="2"/><c/><b type +="3"/></a>') || die "Problem: $!\n"; print Dumper($info);
Is there some setting in XML::Simple which would give me $info in perhaps an array or arrays or some other structure so that I could see the relative order of the peer tags?
In reply to XML::Simple usage question by gri6507
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |