python - 如何使用 python 的 lxml 在我的 xml 文档中打印实体编号而不是实体名称?

标签 python xml lxml

我正在使用 lxml 和 python 生成 xml 文档(仅使用 etree.tostring(root) )但目前生成的 xml 显示 html 实体与命名实体( < ; )而不是它们的数值( &# 60;)。我究竟应该如何更改它,以便结果使用数值而不是名称?

谢谢

最佳答案

最终,看起来 python 代码将调用 xmlNodeDumpOutput在 libxml2 库中。

不幸的是,似乎没有任何方法可以对其进行配置以控制此类实体的表示方式。查看 xmlEncodeEntitiesReentrant 中的 entities.c,< > 和 & 字符被硬编码为始终使用适当的 XML 实体,因此似乎没有办法强制它使用数值。

如果您需要这个,您可能必须对字符串执行另一次传递,并手动执行“outputString.replace("<","<")"那些字符。

关于python - 如何使用 python 的 lxml 在我的 xml 文档中打印实体编号而不是实体名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/715304/

相关文章:

python - 对于 Python 文档,reStructuredText 有什么真正的替代品吗?

python - 使用 lxml 迭代元素和子元素

python - AES session key 的 RSA 解密失败, 'AttributeError: ' 字节的对象没有属性 'n'

python - Django - 模板中的条件渲染

Python while循环不稳定

python - 如果找不到数据,如何使 XPath 在 Python 中返回 'None'?

python - 如何从 HTML LXML 中删除注释

c# - 带有字体大小的 OpenXML 奇怪行为

python - Qt Designer 或关联的 Qt 工具是否具有针对 xml 格式的 *.ui 文件的全局查找和替换功能?

SOLR的XML结果