4

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

谢谢

4

1 回答 1

2

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

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

如果您需要这个,您可能必须对字符串执行另一次传递,并outputString.replace("&lt;","&#60;")为这些字符手动执行“”。

于 2009-04-03T21:50:14.590 回答