Как я могу добавить неэкранированный текст в L XML Etree в Python? - PullRequest
1 голос
/ 14 апреля 2020
Конструктор

L XML позволяет легко генерировать 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>'

Так как мне заставить его обрабатывать внутренний текст как необработанный HTML / XML? Я хотел бы получить его для вывода <html><b>Hello</b></html в приведенном выше примере.

1 Ответ

1 голос
/ 14 апреля 2020

Вы можете легко сделать это sh, проанализировав строку html в объекте l xml 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>'
...