Python3 and xml/xslt libraries



在python 2.6中,我这样做是为了实现xsl-transform

    import libxml2
    import libxslt
    ...
    styledoc = libxml2.parseFile(my_xslt_file)
    style = libxslt.parseStylesheetDoc(styledoc)
    doc = libxml2.parseDoc(siri_response_data)
    result = style.applyStylesheet(doc, None)
    ...

Python 3.2中的等效程序是什么?

我这么问是因为lnxml和libxslt在python3.2中似乎不可用。我听说过lxml——它是libxml2+libxslt的直接等价物,还是有不同的调用模式(需要重写代码)?

使用lxml:的代码模拟

from lxml import etree
# ...    
styledoc = etree.parse(my_xslt_file)
transform = etree.XSLT(styledoc)
doc = etree.fromstring(siri_response_data)
result = transform(doc)
# ...

lxml列出了对Python 3.2 的支持

lxml在后台使用libxml2/libxslt,因此结果应该是相同的。例如,它使用Cython生成C扩展,这些扩展可以在来自同一源的Python2.x和3.x上运行。

相关内容

  • 没有找到相关文章

最新更新