我正在编写一个Python脚本,我需要在其中进行一些搜索并替换一些类似XML的字符串。
假设我有一个字符串foo
,其中包含<bar>something</bar>
形式的XML。我想更改something
中的<bar>...</bar>
,让我们更改为<bar>something_else</bar>
。
我将如何做到这一点?
很抱歉,如果这是一个新手问题,但我对Python很新。我阅读了Python正则表达式文档,但这只会让我更加困惑。 (实际上我发现正则表达式在其他上下文/语言中也很混乱,所以这可能不一定是Python的错误:))
答案 0 :(得分:1)
以下是一个简单的例子,说明如何使用lxml.etree
来实现这一目标,让您沿着正确的道路前进(基于上述评论):
text = """<tag><innertag>text</innertag>more text</tag>"""
import lxml.etree
xml = lxml.etree.fromstring(text)
node = xml.find('innertag')
node.text = "new text"
lxml.etree.tostring(xml)
'<tag><innertag>new text</innertag>more text</tag>'
请参阅lxml文档。