XML::LibXML 、 XML::DOM 和 XML::SAX 之间有什么区别。我可以只使用 XML::LibXML,它应该提供 XML::DOM 和 XML::SAX 的所有功能吗
问问题
463 次
1 回答
0
XML::SAX
是一个实现 SAX 解析器的框架。它带有XML::SAX::PurePerl
一个纯 Perl 实现,但其他 XML 模块可以提供自己的实现,共享相同的高级 API。一个这样的模块是XML::LibXML
. 基于的XML::SAX
解析器XML::LibXML
通常比纯 Perl 解决方案更快。
XML::DOM
是一个提供符合 DOM 级别 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
将在幕后使用。
于 2014-03-27T18:51:41.387 回答