前情提要:
需要对底层的参数文件(xml格式)进行读取,并将前端下发的数据覆盖原数据,并保存。
下发参数格式:JSON
代码呈现:
from xml.dom import minidom
targetPath=os.path.join(path,targetfile)
print targetPath #打印参数文件目录
#with open(targetPath,'r+')as f
f = open(targetPath,"r") #读取参数文件
lines = f.read()
f.close()
dom = minidom.parseString(lines) #解析参数文件
#dom =minidom.parse(lines)
#print type(dom)
root = dom.documentElement
print root
for elem in dom.getElementsByTagName(TestName)[0].childNodes: #循环目标测试例参数块下子节点
#print elem.nodeName
FND = content['parameter'][0] #下发参数
#print type(FND)
#print FND['Power_offset']
for key in FND:
#print key
if key == elem.nodeName: #下发参数名称与参数文件中目标参数名比对
elem.firstChild.data=FND[key] #下发参数值覆盖原参数值
#print (key,':',elem.firstChild.data)
flag = '1'
break
else:
flag = '0'
#if flag == '0':
#print key
#xml_string = dom.toxml()
#print xml_string
f = open(targetPath,'w')
dom.writexml(f) #重新写入参数文件
f.close()
结果:成功