如何在Python中向LXML Etree添加未封装的文本?

问题描述 投票:1回答:1

LXML 的生成器 允许轻松生成HTML和XML,就像这样。

>>>from lxml.builder import E
>>>import lxml.etree
>>>lxml.etree.tostring(E.html('hello'))

b'<html>hello</html>'

但如果我在HTML中加入文本,它就会逃过角括号,就像它应该做的那样。

>>>lxml.etree.tostring(E.html('<b>Hello</b>'))                                                       
b'<html>&lt;b&gt;Hello&lt;/b&gt;</html>'

那我怎么才能让它把内部的文本当作原始HTMLXML来处理呢? 我想让它输出 <html><b>Hello</b></html 在上面的例子中,LXML的构建器允许轻松地生成HTML和XML,比如:>>>from lxml.builder import E >>>import lxml.builder import E >>>import lxml。

python lxml elementtree
1个回答
1
投票

您可以通过将您的 html 字符串解析为 lxml etree 对象来轻松实现这一点。

In [1]: from lxml.builder import E                                       

In [2]: import lxml.etree                                           

In [3]: lxml.etree.tostring(E.html(lxml.etree.fromstring('<b>Hello</b>')
Out[3]: b'<html><b>Hello</b></html>'
© www.soinside.com 2019 - 2024. All rights reserved.