Below code should form the required data structure as mentioned by you in the question. By the way i cant commit that my code is the efficient answer. Other revered monks will be able to give you the answers in most efficient way
#!/usr/bin/perl use strict; use XML::Rules; use Data::Dumper; my $xml = q(<root> <parent>p1 p2 <ch1>c1_1</ch1> p3 <ch2>c2</ch2> p4 <ch1>c1_2</ch1> p5 +</parent> </root>); my $parser = XML::Rules->new ( rules => [ root => 'no content', parent => sub { $_[1]->{text} = $_[1]->{_content}, delete $_[1] +->{_content}, return ($_[0] => [$_[1]] , [$_[0] => $_[1]])} , ch1 => 'content array', ch2 => 'content array', ] ); my $result = $parser->parsestring($xml); print Dumper $result;
Regards,
Murugesan Kandasamy
use perl for(;;);
In reply to Re: XML::Rules: Can hierarchy be changed?
by murugu
in thread XML::Rules: Can hierarchy be changed?
by hoppfrosch
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |