![]() |
|
Don't ask to ask, just ask | |
PerlMonks |
Re: Re: easy way of parsing XMLby grantm (Parson) |
on Jun 30, 2002 at 08:39 UTC ( [id://178336]=note: print w/replies, xml ) | Need Help?? |
XML::Simple tries to provide a simple interface but it does assume a knowledge of Perl references. I recommend perlreftut. The most common mistake with XML::Simple is to ignore the advice in the docs about the ForceArray and KeyAttr options. Always set ForceArray => 1 if you're not sure, and setting it to an array of element names is probably the best way. I also recommend setting KeyAttr => [] unless you know what you want. In the case of the original XML snippet, KeyAttr => 'DlrItemNum' might be useful. I suspect the line that says if ( ref $thing eq "SCALER" ); will never get executed. If you're processing big XML files, XML::SAX might be a good answer. XML::SAX::ByRecord from Barrie Slaymaker's XML::SAX::Machines could be very handy once you have your head around SAX. But, XML::Twig is possibly the best answer for simple record oriented processing. Edit: Sorry, I typed 'always set ForceArray => 0 ...' when I meant 'ForceArray => 1 ...'
In Section
Seekers of Perl Wisdom
|
|