【发布时间】:2015-08-11 21:03:11
【问题描述】:
我的字符串中包含空的 xml 元素,如下所示:
>>> s = """fizz buzz <pb n="44"/> bananas"""
这些字符串已使用etree.SubElement 方法分配给xml 元素:
>>> from lxml import etree as et
>>> root = et.Element('root')
>>> txt = et.SubElement(root, 'text')
>>> txt.text = s
>>> et.dump(root)
<root>
<text>fizz buzz <pb n="44"/> bananas</text>
</root>
摆弄re.split() 和etree 的text 和tail 我可以在txt.text 中我想要的位置插入一个子元素<pb n="44"/>;但是,有时我在字符串中多次出现 <pb/> 元素,这使事情变得复杂:
>>> s1 = """foo bar <pb n="42"/> parrots like <pb n="43"/> eggs and spam"""
是否有一种直接的方法可以将此类元素插入到它们属于现有元素的text 的位置,而无需过多地摆弄text 和tail?
【问题讨论】:
标签: xml python-2.7 lxml elementtree