是否有纯 Python 的 XSLT 库?
在我需要支持的某些平台上,安装 libxml2+libxslt 或任何类似的 C 库是一个问题。
我真的只需要基本的 XSLT 支持,速度不是主要问题。
不幸的是,目前没有纯 python XSLT 处理器。如果您需要更独立于平台的东西,您可能想要使用基于 Java 的 XSLT 处理器,例如Saxon。4Suite 正在开发纯 python XPath 解析器,但看起来纯 XSLT 处理器在一段时间内不会出现。也许最好使用 Python 的一些功能来尝试和近似现有的样式表,或者研究使用 Java 代替的可行性。
我不认为你可以在 cpython 中做到这一点:没有纯 python XSLT 实现。
但是您可以使用 JVM 的内置 XSLT API 在 jython 中轻松完成。我为在 Google AppEngine 上执行此操作的具体案例写了一篇博客文章,但是给出的代码在任何情况下都应该在 jython 下工作。
在 Google AppEngine 和 jython 上使用 XSLT 进行转换
http://jython.xhaus.com/transforming-with-xslt-on-google-appengine-and-jython/
高温下,
艾伦。
你看过4suite吗?
如果您只需要基本支持,并且您的 XML 不是太疯狂,请考虑从等式中删除 XSLT 元素并仅使用 DOM/SAX 解析器。
以下是来自PythonInfo Wiki的一些信息:
[DOM] 吸收整个 XML 文件,将其保存在内存中,并让您使用它。另一方面,Sax 在逐步通过文件时发出事件。
你怎么看?
“lxml 是功能最丰富且易于使用的库,用于处理 Python 语言中的 XML 和 HTML。”