首页 > 解决方案 > lxml 添加文字字符串

问题描述

是否可以使用Element.addpreviousorElement.addnext方法插入文字字符串?

我想转换:

<div>Content</div>

string
<div>Content</div>

我尝试使用lxml.objectify.StringElement,但它会添加一个<StringElement>标签。

是否可以使用 lxml 在 DOM 中的任何位置插入文字字符串,或者每个元素都必须有标签,因为它可能会破坏 lxml 树?

标签: pythonlxml

解决方案


另一种方法。

from simplified_scrapy import SimplifiedDoc, utils, req
xml = '''
<div>Content</div>
'''
doc = SimplifiedDoc(xml) # Instantiate a doc
div = doc.div # Get the element
div.insertBefore('string\n')
print(doc.html) 

结果:

string
<div>Content</div>

推荐阅读