Hi,
I've got a simple xml:
<root>
<parent>p1 p2 <ch1>c1_1</ch1> p3 <ch2>c2</ch2> p4 <ch1>c1_2</ch1> p5
+</parent>
</root>
What I want to do is parsing this into a hash:
'root' => {
'parent' => [
{
'text' => 'p1 p2 p3 p4 p5'
'ch2' => [
'c2'
],
'ch1' => [
'c1_1',
'c1_2'
]
}
]
}
What I tried is (with XML::Rules):
my $parser = XML::Rules->new (
rules => [
root => 'no content',
parent => 'no content array',
ch1 => 'content array',
ch2 => 'content array',
]
);
my $result = $parser->parsestring($xml);
What I cannot figure out yet, is howto parse the "contents" of tag <parent> (I have to consider "p1 p2 "." p3 "." p4 "." p5" as content for some reason) into a child "text" of the item "parent" in my (desired) hash ....
I tried several things like
# different Rule for "parent"
parent => sub {$_[0]->{text} => $_[1]->{_content}},
but had no success yet ... (It's clear that above syntax does not make sense - but I think it expresses what I want to achieve)
Any help welcome!