一尘不染

在elementtree中使用SimpleXMLTreeBuilder

django

我一直在使用django和elementtree开发应用程序,并将其部署到生产服务器时发现它正在运行python 2.4。我已经能够捆绑elementtree但现在我得到了错误:

"No module named expat; use SimpleXMLTreeBuilder instead"

不幸的是,我无法升级python,因此即时通讯卡住了我得到的内容。如何使用SimpleXMLTreeBuilder作为解析器和/或需要重写代码?


阅读 764

收藏
2020-04-01

共1个答案

一尘不染

如果你有想要使用ElementTree的第三方模块(和依赖关系使用XMLTreeBuilder),则可以将ElementTree的XMLTreeBuilder定义更改为SimpleXMLTreeBuilder提供的定义,如下所示:

from xml.etree import ElementTree # part of python distribution
from elementtree import SimpleXMLTreeBuilder # part of your codebase
ElementTree.XMLTreeBuilder = SimpleXMLTreeBuilder.TreeBuilder

现在,无论何时调用ElementTree,它将始终使用SimpleXMLTreeBuilder。

2020-04-01