What's the best XML parser for Perl?

后端 未结 8 920
星月不相逢
星月不相逢 2020-12-01 07:29

I have tried many of the Perl XML Parsers. I was quite interested in the Sablotron Parser, but it is such a pain to install on a Windows box. Currently I have started usin

相关标签:
8条回答
  • 2020-12-01 08:04

    In my experience XML::Simple is best for quick and dirty parsing of XML. We use it for parsing data from third parties that do not always conform to the XML standard. XML::Simple throws informative errors and gets you up an running extremely quickly.

    0 讨论(0)
  • 2020-12-01 08:06

    I think you should give XML::MyXML a try, too. It's very easy to use.

    0 讨论(0)
  • 2020-12-01 08:08

    If you need speed, power or features, XML::LibXML is the way to go. If you're after ease of use, though, XML::Simple is a viable alternative.

    0 讨论(0)
  • 2020-12-01 08:13

    (Actually it's not an answer, but a comment - however, I cannot comment...)

    XML::Simple has been mentioned here.
    (I know it's few from few years ago, but this appeared up in Google today...)

    However, it's site (http://metacpan.org/pod/XML::Simple) now says:

    STATUS OF THIS MODULE

    The use of this module in new code is discouraged. Other modules are available which provide more straightforward and consistent interfaces. In particular, XML::LibXML is highly recommended.

    The major problems with this module are the large number of options and the arbitrary ways in which these options interact - often with unexpected results.

    Patches with bug fixes and documentation fixes are welcome, but new features are unlikely to be added.

    0 讨论(0)
  • 2020-12-01 08:13

    I'll offer one that SHOULD NOT be used: XML::Parser.

    It automatically expands HTML entities to their UTF-8 equivalents, and the option to disable this behavior does not work on the most characteristic of all entities, &.

    Additionally, its XMLDecl-parser will interpret and display the standalone attribute in the <?xml ... ?> block as "standalone"="1", which is absolutely incorrect -- it should be "standalone"="yes".

    0 讨论(0)
  • 2020-12-01 08:20

    You could also look at XML::Liberal which uses LibXML underneath.

    0 讨论(0)
提交回复
热议问题