20

是否有纯 Python 的 XSLT 库?

在我需要支持的某些平台上,安装 libxml2+libxslt 或任何类似的 C 库是一个问题。

我真的只需要基本的 XSLT 支持,速度不是主要问题。

4

5 回答 5

10

不幸的是,目前没有纯 python XSLT 处理器。如果您需要更独立于平台的东西,您可能想要使用基于 Java 的 XSLT 处理器,例如Saxon。4Suite 正在开发纯 python XPath 解析器,但看起来纯 XSLT 处理器在一段时间内不会出现。也许最好使用 Python 的一些功能来尝试和近似现有的样式表,或者研究使用 Java 代替的可行性。

于 2009-02-26T21:13:59.540 回答
7

我不认为你可以在 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/

高温下,

艾伦。

于 2009-12-02T12:47:18.667 回答
1

你看过4suite吗?

于 2008-09-26T09:58:28.647 回答
1

如果您只需要基本支持,并且您的 XML 不是太疯狂,请考虑从等式中删除 XSLT 元素并仅使用 DOM/SAX 解析器。

以下是来自PythonInfo Wiki的一些信息:

[DOM] 吸收整个 XML 文件,将其保存在内存中,并让您使用它。另一方面,Sax 在逐步通过文件时发出事件。

你怎么看?

于 2008-09-26T18:18:34.770 回答
1

还有http://lxml.de/

“lxml 是功能最丰富且易于使用的库,用于处理 Python 语言中的 XML 和 HTML。”

于 2013-02-01T15:51:58.573 回答