我想使用Element.Tree循环以使用最小度https://docs.python.org/3.0/library/xml.dom.minidom.html做同样的事情。
我有一段很好的代码。但是想使用for循环。
from xml.dom.minidom import parseString
a=""" <data>
<items>
<item name="item1πα"></item>
<item name="item2πα"></item>
<item name="item3πα"></item>
<item name="item4πα"></item>
</items>
</data> """
example = parseString(a) # your string
with open('file.xml', 'w') as file: # write to file
example.writexml(file, indent='\n', addindent=' ')
这是我要使用minidom
编写的代码:它可以完成上述操作,但是用于循环。
tree = ET.ElementTree(ET.fromstring(sampleXML))
for folder in os.listdir(path): #Iterate the dir
tree.find("item").text = folder #Update dir name in XML
tree.write(open(os.path.join(path, folder, "newxml.xml"),"wb"))
进行此翻译的原因是mindom
代码保留了格式。
基本上,只需要将tree.find("item").text = folder
替换为minidom
等价物,但我花了很多时间才找到它。
非常感谢。