如何在python中编辑和更新目录中的xml文件

时间:2012-12-07 06:03:25

标签: python-2.7

在名为“ini”的文件夹中有许多文件,我必须搜索具有属性名称的文件 并编辑它的值,我试过这段代码: -

import os, glob
from lxml import etree

for filename in glob.glob("./ini/*.xml"):

    xmlData = etree.parse(filename)

    for msg in xmlData.findall("//Value"):
        name = msg.attrib["name"]
        init = msg.attrib["initValue"]
        if name == "attribute name" :
            msg.set("initValue", "0")
            print msg.get('name'), msg.get('initValue')
            print msg.attrib
            print name, init
            print filename

该值仅在“msg”中更新,而不是在原始文件中

1 个答案:

答案 0 :(得分:0)

因此,您已经达到了读取解析修改 xml文件的程度。缺少最后一步是保存文件,因为修改后的版本只存在于正在运行的进程的内存中。

with open("outfile.xml", "w") as f:
    f.write(etree.tostring(xmlData))

这会将修改后的xml以漂亮的打印(缩进)格式写入 outfile.xml 。您可以使用包含原始文件名的变量替换" outfile.xml" 来覆盖原始文件。