批处理脚本或python程序来编辑xml标记中的字符串

时间:2010-11-16 19:29:28

标签: python batch-file xml string

我希望编写一个程序来搜索xml文档中的标记,并将标记之间的字符串从localhost更改为manager。标签可能会多次出现在xml文档中,并且文档确实有一个明确的路径。 python或vbscript会对这个问题最有意义吗?任何人都可以提供模板,以便我可以开始使用吗?那太好了。感谢。

2 个答案:

答案 0 :(得分:1)

如果这是一件简单的事情,比如在这里和那里更改一些字符串,你可以用python regexp做一切,请点击这里:

对于更复杂的一切,我建议使用像Beautiful Soup这样的东西:

它有点过时,但包含你需要的一切......

我同意这属于stackoverflow.com,因为这是一个编程问题。

答案 1 :(得分:1)

我建议你直接进入python的lxml库,不要回头看。 xml的正则表达式操作会产生可怕的后果,而BeautifulSoup虽然很受欢迎,但却被正式放弃了。

lxml非常强大,快速且高效。对于您的任务,只需写下:

from lxml import etree
doc = etree.fromstring(content)
elements = doc.findall('tags_to_modify')
for el in elements:
    el.text = your_replacement_function(el.text)
print etree.tostring(doc)

您可以在lxml的文档中找到很多帮助: http://lxml.de/