查看文档,我看不到使用cElementTree做到这一点。
但是,我对lxml的XML实现版本感到幸运。使用libxml2,它的替换量几乎下降了。元素具有
sourceline属性。(以及获得许多其他XML功能)。
唯一需要注意的是,我只在python 2.x中使用过它-不知道它在3.x下如何/是否工作-但可能值得一看。
附录:他们在首页上说:
lxml XML工具箱是C库libxml2和libxslt的Python绑定。它的独特之处在于它将这些库的速度和XML功能的完整性与本机Python
API的简单性结合在一起,该Python API大多数都兼容,但优于众所周知的ElementTree
API。最新版本适用于从2.3到3.2的所有CPython版本。有关lxml项目的背景和目标的更多信息,请参见简介。常见问题解答中回答了一些常见问题。
所以看起来python 3.x没问题。