【问题标题】:Difference between XML::LibXML, XMl::DOM and XML::SAXXML::LibXML、XMl::DOM 和 XML::SAX 之间的区别
【发布时间】:2023-03-21 03:25:01
【问题描述】:

XML::LibXML、XML::DOM 和 XML::SAX 有什么区别。 我可以只使用 XML::LibXML,它应该提供 XML::DOM 和 XML::SAX 的所有功能

【问题讨论】:

    标签: xml dom sax libxml2 xml-libxml


    【解决方案1】:

    XML::SAX 是一个实现 SAX 解析器的框架。它带有XML::SAX::PurePerl,这是一个纯 Perl 实现,但其他 XML 模块可以提供自己的实现,共享相同的高级 API。一个这样的模块是XML::LibXML。基于XML::LibXMLXML::SAX 解析器通常比纯Perl 解决方案更快。

    XML::DOM 是一个在XML::Parser 之上提供符合DOM Level 1 的XML 操作API 的模块,而XML::Parser 又基于expat C 库。 XML::LibXML 基于 libxml2 并提供自己的 DOM 接口实现(DOM Level 3 的一个大子集)。所以它应该提供XML::DOM 的所有功能。

    总而言之,您只能使用 XML::LibXML 进行 XML 处理,但 XML::SAX 是一个依赖项。如果您使用XML::LibXML SAX 解析器,XML::SAX 将在幕后使用。

    【讨论】:

    • 感谢您的帮助。我还有一个疑问,如果我使用 XML::LibXML 那么我可以在 perl 中使用 XML::LibXML DOM 和 SAX,而无需显式安装这些模块。
    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2016-07-01
    相关资源
    最近更新 更多