Richard Lee wrote: > while trying to study the article on perlmonks.org, > > http://perlmonks.org/?node_id=490846 > > regarding XML parsing, I need bit of clarfication. > > how do I parse out > > <image src="http://www.oreilly.com/catalog/covers/perlbp.s.gif" > width="145" height="190" /> > > > I tried $book->{image}->{src}... but doesn't work.. I need some > understanding on how these information is stored. > > > > parsing code > > use XML::Simple qw(:strict); > > my $library = XMLin($filename, > ForceArray => 1, > KeyAttr => {}, > ); > > foreach my $book (@{$library->{book}}) { > print $book->{title}->[0], "\n" > > } > > XML file > > <library> > <book> > <title>Perl Best Practices</title> > <author>Damian Conway</author> > <isbn>0596001738</isbn> > <pages>542</pages> > <image src="http://www.oreilly.com/catalog/covers/perlbp.s.gif" > width="145" height="190" /> > </book> > <book> > <title>Perl Cookbook, Second Edition</title> > <author>Tom Christiansen</author> > <author>Nathan Torkington</author> > <isbn>0596003137</isbn> > <pages>964</pages> > <image src="http://www.oreilly.com/catalog/covers/perlckbk2.s.gi > +f" > width="145" height="190" /> > </book> > <book> > <title>Guitar for Dummies</title> > <author>Mark Phillips</author> > <author>John Chappell</author> > <isbn>076455106X</isbn> > <pages>392</pages> > <image src="http://media.wiley.com/product_data/coverImage/6X/07 > +645510/076455106X.jpg" > width="100" height="125" /> > </book> > </library>
I agree with Stewart that XML::Simple is far from simple in practice. For the selection of options for XMLin you have used, you can access the image data like this: foreach my $book (@{$library->{book}}) { my $title = $book->{title}[0]; my $image = $book->{image}[0]; print "$title\n"; print " $image->{src}\n"; print " $image->{width}\n"; print " $image->{height}\n"; } but the structure of the data will change depending on what options are set, and in general it is very difficult to use XML::Simple without also using Data::Dumper to inspect the data structure that has actually been generated. HTH, Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/