1.大体流程
使用 os.listdir( ) 批量读取文件夹下的文件,然后循环相应的xml文件,并使用getElementsByTagName函数修改节点内容。
2.代码如下:
import os
import xml.dom.minidom
import xml.etree.ElementTree
xmldir = '/home/dulingwen/xml/' #你的xml文件的路經,注意最后一定要有'/'
for xmlfile in os.listdir(xmldir):
xmlname = os.path.splitext(xmlfile)[0]
#读取 xml 文件
dom = xml.dom.minidom.parse(os.path.join(xmldir,xmlfile))
root = dom.documentElement
#获取标签对的名字,并为其赋一个新值
root.getElementsByTagName('filename')[0].firstChild.data = xmlname + '.jpg'
root.getElementsByTagName('path')[0].firstChild.data = \
'/home/dulingwen/Pictures/road/' + xmlname + '.jpg'
root.getElementsByTagName('width')[0].firstChild.data = '2084'
root.getElementsByTagName('height')[0].firstChild.data = '2084'
#修改并保存文件
xml_specific = xmldir + xmlfile
with open(xml_specific,'w') as fh:
dom.writexml(fh)