首页 > 解决方案 > 使用循环替换xml中的数字?

问题描述

以前没有在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 放到相应的文件夹中。

标签: pythonxmlbeautifulsoup

解决方案


这是一种方法。

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

推荐阅读