1

目前我有 2 个变种,LXMLlibXML2,它们似乎都可以工作。我已经尝试对两者进行基准测试,特别是用于将内存字符串和文件解析为 XML 并导入 XSLT 样式表并应用它们。虽然纯基于性能的测试表明 LXML 是最重要的(特别是应用样式表),但 libxml2 似乎已被用作许多其他语言的事实上的标准。此外,在解析 LXML 的过程中,实体替换似乎有些困难。

我的问题主要是:有没有人在生产中成功使用过 LXML,你的印象是什么?

4

1 回答 1

2

我使用过 LXML,印象非常深刻。同时拥有 etree-like 和 objectify 接口所提供的灵活性非常方便。我也喜欢我不必有任何单独的文本节点的事实。

至于实体替换,我也遇到了一些问题,但对我来说,这是一个在创建解析器时为解析器提供正确选项的问题。

例如,如果您尝试从远程 DTD 加载实体,您可以尝试以下操作:

parser = etree.XMLParser(load_dtd=True, no_network=False)

no_network标志默认为True并且在我看来有点违反直觉,但这确实是我遇到的唯一障碍。

于 2009-11-11T23:50:51.627 回答