Python 跟 XML

/! 这一篇是Python and XML中译版本。

有各种各样的XML处理的解决方案可用于Python,我们尝试这一页至少列出最积极开发或最容易取得的事务。

[adsense][/adsense]

标准函式库的套件

标准函式库有一堆工具可用,主要的有三类:

  • XML 树状函式库遵循W3C DOM标准:
    • MiniDom – xml.dom.minidom 套件

    • PullDom – xml.dom.pulldom 套件

  • 事件驱动的XML解析器跟W3C SAX标准相容:
    • Sax – xml.sax套件

  • pythonesque XML树状函式库:

DOM和SAX套件有跟W3C标准API相容的优点,所以那些熟悉这些API的使用者不用学习更多的东西就可以使用,其他每个人应该从更python化的ElementTree函式库开始,这个函式库跟Python语言整合的很好,因此可以更容易地学习跟使用。

外部套件

特别用途跟一般用途的Python XML套件的列表可以在 PyPI找到,下列是一个主要支援概括性的XML功能的工具的选择。

Python化的工具

  • Amara – Amara提供你可以相信适合XML标准却又不会失去熟悉的Python感觉的工具

  • lxml – python的,libxml2及libxslt函式库的ElementTree-相容系结,这些函式库伴随各种强大的XML(及HTML)工具,可以跟容易使用的Python API作良好的整合

  • lxml.objectify – 基于lxml的XML Python物件API

W3C 类DOM函式库

  • 4Suite – XML(及RDF)处理的架构

  • itools.xml – itools 提供XML处理支援有点像PullDom

  • libxml2dom – PyXML-风格的API作为libxml2 Python的系结

  • PyXML – 外部附加在原始Python XML支援 – 注意: 这个不再维护!不要使用在新的程式码中!

  • qtxmldom – PyXML-风格的API作为qtxml Python系结

XSLT支援

假如没有提出,这个意思为XSLT 1.0,而不是XSLT 2.0。

  • XSLT tools for Python – 一个Uche Ogbuji所写的(较旧的)范例及连结收集

  • lxml 有良好的XSLT的支援,它是以libxslt为基础的

  • XSLTools – XSL在 libxslt及libxml2dom之上的转换,新增了Web开发的支援

  • 有些连结自XQuery homepage 的工具提供Python的系结作为他们的XSLT2及XPath2实作

XML基础的通讯

  • PyXMPP – Python XMPP (RFC 3920,3921)及 Jabber 实作

  • jabber.py – 一个jabber即时通讯协定的Python模组

  • xmpppy – 一个以提供容易使用Jabber脚本撰写为目标的Python函式库

Web服务

书籍文章

SIG