如何使用 lxml 创建文本节点?

How to create a Text Node with lxml?

我正在使用 lxml 和 python 来操作 xml 文件。我想创建一个最好没有标签的文本节点,而不是创建一个新的 Element 然后向其附加文本。我该怎么做?

我可以在 python 的 xml.dom.minidom 包中找到与此等效的名为 createTextNode,所以我想知道 lxml 是否支持相同的功能?

看起来 lxml 没有提供特殊的 API 来创建文本节点。您可以简单地设置父元素的 text 属性 来创建或修改该元素中的文本节点,例如:

>>> from lxml import etree
>>> raw = '''<root><foo/></root>'''
>>> root = etree.fromstring(raw)
>>> root.text = 'bar'
>>> etree.tostring(root)
'<root>bar<foo/></root>'