in reply to Re: Re: Re: XML::Simple parsing :-(
in thread XML::Simple parsing :-(

Believe me I read the documentation before I post here. Its usually my last resort when I have to ask someone.
Force array option doesnt do what I expected it to do. It just makes arrays out of the elements below the GDOT-INC-252421 portions of the tag. I have read the documentation and have used that option as well as the keeproot option just dont quite get why its not doing what I expected it to do.
  • Comment on Re: Re: Re: Re: XML::Simple parsing :-(

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: XML::Simple parsing :-(
by bobn (Chaplain) on Jun 20, 2003 at 03:01 UTC
    my $ref = $xs->XMLin($doc, ForceArray => [ 'incident' ]); works if the 'id' attribute is removed from the Incident start tag. Changing the name to 'iid' also works.

    Adding KeyAttr => [ ] to the options fixes this. From the doc for XML::Simple:
    Note 1: The default value for 'KeyAttr' is ['name', 'key', 'id']. If you do not want folding on input or unfolding on output you must setting this option to an empty list to disable the feature. Note 2: If you wish to use this option, you should also enable the `ForceArray' option. Without 'ForceArray', a single nested element will be rolled up into a scalar rather than an array and therefore will not be folded (since only arrays get folded).