Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: XM-Hell

by mirod (Canon)
on Dec 14, 2001 at 17:26 UTC ( #131953=note: print w/replies, xml ) Need Help??

in reply to XM-Hell

In this case XML::Simple will not work, as your XML includes mixed content (text with tags inside, such as <p>foo <b>bar</b> baz</p>).

To make sense of the various XML modules you can have a look at Kip Hampton's excellent column on, look at my old Processing XML with Perl article or start hanging out on the perl-xml mailing list.

The recent trend in XML processing with Perl is to move away from XML::Parser based modules and to use more modules based libXML 2, the GNOME XML library. That said a lot of the "good ole" XML modules would work just fine in your case: XML::Parser of course, but also XML::Twig (of course!), probably XML::PYX, as suggested by Davorg XML::XPath would work too, and XML::DOM would work too (if you decide to use it you might want to check out XML::DOM::Twig).

BTW the reason XML::Parser is sortta frowned upon these days is that it has a non-standard interface (newer modules use standard SAX or DOM interfaces, XML::Parser predates both). Those interfaces are sounder and more common, which means that for example you can read CSV data and process it with XML tools if you use a CSV parser with a SAX output such as Illya Strin's XML::SAXDriver::CSV .

Last but not least Matt Sergeant would kill me if I failed to mention his new XML::SAX::PurePerl, which is, surprisingly, a SAX parser written in pure Perl, which means you don't have to install external libraries such as expat or libXML 2, which can be a pain on some systems.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://131953]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2023-09-28 08:07 GMT
Find Nodes?
    Voting Booth?

    No recent polls found