You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在lxml中强制将换行符转换为
实体?

解决方案:将文本换行符转为
实体输出

当然可以实现这个需求!lxml默认会保留文本里的换行符原样输出,不会自动转成
实体,所以咱们只需要提前处理文本内容,再交给lxml构建元素就好。

具体实现代码

from lxml import etree
from lxml.builder import E

# 先处理原始文本,把换行符替换成目标实体字符串
original_text = 'one\ntwo'
processed_text = original_text.replace('\n', '
')

# 构建元素并输出
element = E.a(processed_text)
output = etree.tostring(element, pretty_print=True)
print(output)

输出结果

运行这段代码后,你会得到期望的输出:

b'<a>one
two</a>\n'

原理说明

  • 我们先把文本中的\n换行符替换成
字符串,当lxml生成输出时,会自动把字符串里的&转义成&,最终就变成了
,对应HTML里的
实体。
  • 如果你的文本里同时存在\n和\r两种换行符,可以扩展替换逻辑:processed_text = original_text.replace('\n', '
').replace('\r', '
')

内容的提问来源于stack exchange,提问作者Eugene

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:30:53