【发布时间】:2022-01-06 13:07:22
【问题描述】:
我正在尝试编辑不同目录中的两个 xml 文件。一个名为 test.xml 的文件位于 C:\Users\user\Desktop 中。另一个也称为 test.xml,位于 C:\Users\user\Desktop\test 中。我正在尝试更改它们的值。
import os
import xml.dom.minidom as md
for root, dirs, files in os.walk("C:\\Users\\user\\Desktop"):
for file in files
file = md.parse("test.xml")
file.getElementsByTagName("size")[0].childNodes[0].nodeValue="Large"
file.getElementsByTagName("weight")[0].childNodes[0].nodeValue="30oz"
with open("test.xml", "w") as fs:
fs.write(file.toxml())
fs.close()
这只会编辑第一个文件,但不会编辑其他文件。这是他们两个的 XML,如果有帮助的话。
C:\Users\user\Desktop 中的test.xml
<?xml version="1.0"?>
<food_list>
<fruit>
<name>Strawberry</name>
<size>Medium</size>
<weight>19oz</weight>
<id>S001</id>
</fruit>
</food_list>
C:\Users\user\Desktop\test 中的test.xml
<?xml version="1.0"?>
<food_list>
<fruit>
<name>Apple</name>
<size>Small</size>
<weight>19oz</weight>
<id>A001</id>
</fruit>
</food_list>
我该怎么做才能编辑这两个文件?我真的被困在这里,所以任何帮助都将不胜感激。
【问题讨论】:
-
似乎是“我如何
os.walk()进入子文件夹”问题,而不是 XML 问题? (试金石:当你取出 XML 部分时,问题是否会改变?如果没有,请研究基础问题。) -
@Tomalak 不知道他的错误完全在xml部分之外。因为为了知道它,它必须知道错误。