可爱的 Python:将 XML 和 Python结合起来
2007-03-29 12:03:13 来源:WEB开发网核心提示: 其它语法分析模块PyXML 发行版包含了几个具有各种功能的附加语法分析模块,提供这些模块是为了对基本 [xmllib] 模块做一些改进,可爱的 Python:将 XML 和 Python结合起来(4),[pyexpat] 是 GPL 方式的 XML 语法分析器工具箱 'expat&
其它语法分析模块
PyXML 发行版包含了几个具有各种功能的附加语法分析模块。提供这些模块是为了对基本 [xmllib] 模块做一些改进。
[pyexpat] 是 GPL 方式的 XML 语法分析器工具箱 'expat' 的封装程序。'expat' 是用 C 语言写的库,这就意味着任何想要利用它的语言都可以使用它。'expat' 是非验证型,因此它比原来的 Python 语法分析器快很多。[sgmlop] 的目的与 [pyexpat] 相同。它也是非验证型,而且也用 C 语言编写。[pyexpat] 可以作为 MacOS 二进制使用,[sgmlop] 可以当作 Win32 二进制使用;但如果您需要使用不同的平台,那么就要用 C 编译器为您自己的平台构建模块。
[xmlproc] 是 python 原有的语法分析器,它执行几乎完整的验证。如果需要验证型语法分析器, [xmlproc] 是 Python 当前唯一的选择。同样,[xmlproc] 提供其它语法分析器所不具备的各种高级和测试接口。
如果决定使用 XML 的简单 API (SAX) -- 它应该用于复杂的事物,因为其它大部分工具都构建在它之上 -- 将为您完成许多语法分析器的分类工作。在 PyXML 发行版中,[xml.sax.drivers] 包含许多语法分析器的瘦封装程序,包括所有那些已讨论过的、名称形式为 'drv_*.py' 的语法分析器。但是,一般使用高级 SAX 设施访问驱动器,该设施自动选择系统上“最佳”的可用语法分析器:
选择语法分析器
#------------- selecting the best parser ---------------#
from xml.sax.saxext import *
parser = XMLParserFactory.make_parser()
包:SAX
以上,我们已提到 SAX 会自动选择要使用的语法分析器;但 SAX 是什么?一个较好的答案是:
更多精彩
赞助商链接