使用循环替换xml中的数字?

时间:2018-08-06 09:37:44

标签: python xml beautifulsoup

以前没有在xml中完成这种处理。

我有这些空文件夹,名为:125,127,128

我有这个xml:

 <?xml version="1.0" encoding="ASCII"?>
    <Metadata version="1.0">
        <CODE_OK>510</CODE_OK>
        <DeliveryDate>13/08/2018</DeliveryDate>

我要用每个文件夹的名称分别替换<CODE_OK>510</CODE_OK>之间的数字:125,127和128,并将每个新的xml拖放到相应的文件夹中。

1 个答案:

答案 0 :(得分:0)

这是一种方法。

import xml.etree.ElementTree as ET
import os

sampleXML = """<?xml version="1.0" encoding="ASCII"?>
    <Metadata version="1.0">
        <CODE_OK>510</CODE_OK>
        <DeliveryDate>13/08/2018</DeliveryDate>
    </Metadata>
    """

tree = ET.ElementTree(ET.fromstring(sampleXML))
for folder in os.listdir("YourPath"):                 #Iterate the dir
    tree.find("CODE_OK").text = folder                #Update dir name in XML
    tree.write(open(os.path.join(r"YourPath", folder, "yourxml.xml"), "w"))     #Write to XML