我正在尝试将 xml 文件读入 python,从 xml 文件中提取某些元素,然后将结果写回 xml 文件(所以基本上它是没有几个元素的原始 xml 文件)。当我使用 .removeChild(source) 时,它会删除我想要删除的单个元素,但会留下空白,从而使文件非常不可读。我知道我仍然可以使用所有空格解析文件,但有时我需要手动更改某些元素属性的值,这使得这样做变得困难(而且很烦人)。我当然可以手动删除空格,但如果我有几十个这样的 xml 文件,那是不可行的。
有没有办法做 .removeChild 并让它也删除空白?
这是我的代码的样子:
dom=parse(filename)
main=dom.childNodes[0]
sources = main.getElementsByTagName("source")
for source in sources :
name=source.getAttribute("name")
spatialModel=source.getElementsByTagName("spatialModel")
val1=float(spatialModel[0].getElementsByTagName("parameter")[0].getAttribute("value"))
val2=float(spatialModel[0].getElementsByTagName("parameter")[1].getAttribute("value"))
if angsep(val1,val2,X,Y)>=ROI :
main.removeChild(source)
else:
print name,val1,val2,angsep(val1,val2,X,Y)
f=open(outfile,"write")
f.write("<?xml version=\"1.0\" ?>\n")
f.write(dom.saveXML(main))
f.close()
非常感谢您的帮助。