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

时间:2009-04-03 19:20:46

标签: python xml lxml

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

由于

1 个答案:

答案 0 :(得分:2)

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

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

如果你需要这个,你可能不得不对字符串执行另一次传递,并为这些字符手动执行“outputString.replace("<","<")”。