使用python在xml文件中查找替换字符串

时间:2011-10-17 20:48:07

标签: python replace

我正在尝试用python替换xml文件中的字符串。例如:

我想将启用更改为disbabled:

<s:global-method-security secured-annotations="enabled"/>

最好搜索并更换整条生产线吗?或者,如果找到匹配的行,有没有办法只更换行上的启用?

2 个答案:

答案 0 :(得分:3)

一种简单的方法可能是:

for line in fileh:
    line = line.replace("enabled", "disabled")
    ouf.write(line)

在替换之前,您无需在字符串中明确查找“enabled”。

但是,由于它是一个xml文件,我建议使用xml解析器来修改它。

答案 1 :(得分:1)

只需使用string.replace()

for line in whateverXMLText.splitlines(): # or whatever arbitrary loop
    if line.find("enabled") > -1:
        print "Replacing 'enabled' on line: %s" % line
        line.replace("enabled", "disabled")

更好的解决方案可能是使用xml解析器(xml.dom.minidom),并在解析过程中更改属性。