| Module Info
| Add a review of XML-LibXML
OK, so it's not pure Perl, and some people theoretically might have trouble installing it as a result of that, but... it's very fast, very reliable and very correct in everything it does.
As others have mentioned, it has a bit of a learning curve, but it's worth it. If you start with another XML parser, you'll just outgrow it.
Supports both tree- and stream-based parsing, so you can make the performance vs. convenience decision on a case-by-case basis.
This module has saved my life and brain multiple times so far.
I use it mainly for processing 3rd party supplied, kinda awkward XML using XPath expressions. The documentation is - as mentioned in other reviews - kind of sparse, but somehow even I was able to get my work done.
Speed is no problem too, as it's a frontend class to libxml2.
I've probably gotten more use out of this module than any other in cpan. One requirement for some of my projects is to be able to change the XML and then export it with the same look as it had before. That is where this module really shines, in my opinion.
Thanks and keep up the good work!
One of the better built modules out there.
While the call back interface takes a little getting use to, you gain a greater flexibility and power because of it.
It is somewhat misleading in that this library does a great job of parsing HTML as well as XML. This is what we use at my work for all HTML unit tests because of it's speed and and ease of use.
The last XML module you'll ever need.
You might be lost at first going through the documentation (the module could use a cookbook), but it is worth it in the end.
XML::LibXML is the fastest, and richest XML processing module out there.
In my case, the XPath support and push parser have been saving me from hours of pain.
This 'review' is actually a comment: the distribution *will* install on RedHat (and Solaris) if you apply the patch supplied by a guest at:
Hopefully one day it'll make it into a release.
I'll start with the bad: the documentation is complete, but very sparse. It lists most everything you need from the module, but it explains very little.
This does have a negative effect on ease of use at first; but really, it's only a matter of experience and third party documentation before you overcome the hurdle.
The interface as such is lovely: a pretty straight but still comfortably Perlish translation of the C API of the underlying library.
And of course, libxml2 just plain rocks.
Overall, ever since I figured this module out, I haven't wanted to use anything else for my XML manipulation needs.
It's easy to use and it's fast but why is it not designed to be "subclassable" ???
the worst documentation know to man...
few meaningful examples, and NO type information (the swig interface demands certain types, but what they are is not explained ANYWHERE, so you get messages like "nNode is not a blessed SV reference")
trial & error is the best way to work through this API...
supports DOM 2 though....
This is a great interface to the XML DOM (Document Object Module). The only problem I can think with it, is that some of its settings are not per-instance, but this is the limitation of the underlying library.
In any case, this module is highly recommended for all of your XML processing needs.
Driving all of my production XML Perl code for a couple years now. Never had (at least don't remember) any leaks or performance trouble with the daemons that use it.
It's good, it's fast - what more can we say?
Nice simple, interface for libxml2
For me it is a very good package, at least compared to other
xml parser packages, like XML::Parser und XML::XPath.
Entities, XInclude works. XPath support is fine....