我正在尝试用python替换xml文件中的字符串。例如:
我想将启用更改为disbabled:
<s:global-method-security secured-annotations="enabled"/>
最好搜索并更换整条生产线吗?或者,如果找到匹配的行,有没有办法只更换行上的启用?
答案 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
),并在解析过程中更改属性。