note
mirod
<p>It might be difficult but I'll try anyway ;--).</p>
<p>At least here are a few hints:</p>
<ul><li><b>document size</b>: big documents excludes most tree-oriented modules,
such as [XML::Simple], [XML::DOM] and [cpan://XML::XPath]<br>
big depends on your RAM and on the expansion factor of the module, typically
between 7 an 10</li>
<li><b>type of XML</b>: document-oriented XML excludes modules such as [XML::Simple]
and [cpan://XML::SimpleObjects]<br>those modules don't deal with mixed content
(<code><p>this is <b>mixed</b> content</p></code>),</li>
<li><b>ease of use</b>: although this is higly subjective [XML::Simple] seems to be
considered really easy to use as it completely masks the XML by loading it into
a Perl data structure (a pretty convoluted data-structure IMHO, use [Data::Dumper]!), tree-based modules ([cpan://XML::XPath], [XML::DOM], [XML::Twig])
are generally easier to use than stream-based ones, although for simple data
extraction [XML::PYX] is very convenient,</li>
<li><b>speed</b>: at the moment [XML::Parser] is the fastest (all other modules
are based on it) but modules based on libXML should be faster soon ([cpan://XML::XPath]
2.0 for example). Stream-based modules are usually faster than tree-based ones,</li>
</ul>
102553
102553