這一篇是Python and XML中譯版本。
有各種各樣的XML處理的解決方案可用於Python,我們嘗試這一頁至少列出最積極開發或最容易取得的事務。
標準函式庫的套件
標準函式庫有一堆工具可用,主要的有三類:
- XML 樹狀函式庫遵循W3C DOM標準:
- 事件驅動的XML解析器跟W3C SAX標準相容:
-
Sax – xml.sax套件
-
- pythonesque XML樹狀函式庫:
-
ElementTree -xml.etree套件(Python 2.5的新功能)
-
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實作