Bjorn Van Blanckenberg am Donnerstag, 19. Januar 2006 09.33: > I have some elements in my xml that are empty but have attributes. > I would like that I can group the element in function of Attribute Name. > > <Layout Class="Parameter" ID="r060116_103344354_000026" > Status="Available"> > <LayerList> > <LayerDetails Name="nl-BE"/> > <LayerDetails Name="fr-BE"/> > <LayerDetails Name="nl-NL"/> > </LayerList> > </Layout> > > I read in I get > > $VAR1 = { > 'ID' => 'r060116_103344354_000026', > 'Status' => 'Available', > 'LayerList' => { > 'LayerDetails' => [ > { > 'Name' => 'nl-BE' > }, > { > 'Name' => 'fr-BE' > }, > { > 'Name' => 'nl-NL' > } > ] > }, > 'Class' => 'Parameter' > }; > > > I would like it when the xml is readed in to became > > { > 'ID' => 'r060116_103344354_000026', > 'Status' => 'Available', > 'LayerList' => { > 'LayerDetails' => [ 'nl-BE', 'fr-BE', 'nl- > NL' ] > }, > 'Class' => 'Parameter' > } > } > > I've tried to use > # KeyAttr => [ list ] > # KeyAttr => { list } > # GroupTags => { grouping tag => grouped tag } > > even an combination of KeyAttri and GroupTags but don't get the > desired output
Just in case it's not possible with XML::Simple, you could use a workaround on the result data structure by transforming it with: $VAR1->{LayerList}->{LayerDetails}= [ map {%$_} @{$VAR1->{LayerList}->{LayerDetails}} ]; hth, joe -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>