Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: XM-Hell

by mirod (Canon)
on Dec 14, 2001 at 17:26 UTC ( [id://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 xml.com, 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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-26 09:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found