将Element.Tree代码段转换为Minidom

时间:2018-08-07 09:51:01

标签: python xml

我想使用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等价物,但我花了很多时间才找到它。 非常感谢。

0 个答案:

没有答案