簡體   English   中英

如何將未轉義的文本添加到 Python 中的 LXML Etree?

[英]How can I add unescaped text to an LXML Etree in Python?

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>'

那么我怎樣才能讓它將內部文本視為原始 HTML/XML 呢? 在上面的示例中,我想將它發送到 output <html><b>Hello</b></html

您可以通過將 html 字符串解析為 lxml etree object 輕松完成此操作:

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>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM