【发布时间】:2016-04-12 10:23:52
【问题描述】:
我正在使用 lxml 和 python 来操作 xml 文件。我想创建一个没有标签的文本节点,而不是创建一个新的Element,然后将文本附加到它。我该怎么做?
我可以在名为createTextNode 的python 的xml.dom.minidom 包中找到与之等效的功能,所以我想知道lxml 是否支持相同的功能?
【问题讨论】:
我正在使用 lxml 和 python 来操作 xml 文件。我想创建一个没有标签的文本节点,而不是创建一个新的Element,然后将文本附加到它。我该怎么做?
我可以在名为createTextNode 的python 的xml.dom.minidom 包中找到与之等效的功能,所以我想知道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>'
【讨论】: