如何使用Python在XML中使用相同标签修改不同的值?

时间:2019-05-28 19:31:14

标签: python xml

我尝试在这里做这件事:

之前

<a>
    <b>
        <c>
            <d>
                <name>VERSION</name>
                <description />
                <defaultValue>v1.0.0</defaultValue>
                <trim>false</trim>
            </d>
            <d>
                <name>LINK</name>
                <description />
                <defaultValue>current</defaultValue>
                <trim>false</trim>
            </d>
        </c>
    <b>
</a>

之后

<a>
    <b>
        <c>
            <d>
                <name>VERSION</name>
                <description />
                <defaultValue>v2.0.0</defaultValue>
                <trim>false</trim>
            </d>
            <d>
                <name>LINK</name>
                <description />
                <defaultValue>I changed the link</defaultValue>
                <trim>false</trim>
            </d>
        </c>
    <b>
</a>

我有一个XML文件,我想更改默认值。 我尝试使用此代码,但没有工作,并且idk如何处理它:

from xml.etree import ElementTree as ET
tab = ["V2.0.0, "I changed the link"]
i = 0
tree = ET.parse("myfile.xml")
for child in tree.findall(".//d"):
    tree.find(".//defaultValue").text = tab[i]
    i=+1

谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

尝试更改

tree.find(".//defaultValue").text = tab[i]

使用

child.find(".//defaultValue").text = tab[i]

将此代码行添加为脚本的最后一行,以查看修改后的XML

ET.dump(tree)