in reply to XML::Simple - Handling inconsistency
Is there any way to make it give the similar structure?
use XML::Rules , just give xml2XMLRules the most complex detailed xml file you have, and you'll get rules/data like these
#!/usr/bin/perl -- use strict; use warnings; use Data::Dump; use XML::Rules; my $ta = XML::Rules->new( qw/ stripspaces 8 /, rules => { 'literal' => 'as is', 'binding' => 'as array no content', 'uri' => 'content', 'results' => 'no content' } ); my @xml = ( q{<results> <binding name="image_url"> <uri>Football.png</uri> </binding> <binding name="description"> <literal xml:lang="en">Second article.</literal> </binding> </results> }, q{<results> <binding name="description"> <literal xml:lang="en">First article. </literal> </binding> </results> } ); dd( my$ref = $ta->parsefile( \$_ )) for @xml; __END__ { results => { binding => [ { name => "image_url", uri => "Football.png" }, { literal => { "_content" => "Second article.", "xml:lang" => "e +n" }, name => "description", }, ], }, } { results => { binding => [ { literal => { "_content" => "First article.", "xml:lang" => "en +" }, name => "description", }, ], }, }
Sure, you could get there with XML::Simple, but I don't bother anymore
Data::Diver for navigation :)
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: XML::Simple - Handling inconsistency
by Jenda (Abbot) on Jan 09, 2013 at 10:32 UTC |
In Section
Seekers of Perl Wisdom