用Python在XML文件中查找并替换字符串

0 投票
2 回答
4004 浏览
提问于 2025-04-17 04:30

我想用Python在一个xml文件中替换字符串。例如:

我想把“enabled”改成“disabled”,在:

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

这样做是直接搜索并替换整行比较好,还是说如果找到匹配的行,只替换那一行中的“enabled”更好呢?

2 个回答

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),在解析的时候直接修改属性。

3

一个简单的方法可以是:

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

在替换之前,你不需要特意去查找字符串中的“enabled”。

不过,因为这是一个xml文件,我建议使用xml解析器来进行修改。

撰写回答