我想讀取一個xml文件到python中,從xml文件中拉出某些元素,然後將結果寫回到一個xml文件(所以基本上它是原始的xml文件沒有幾個要素)。當我使用.removeChild(源代碼)時,它會刪除我想要刪除的單個元素,但會留下空白區域,使文件變得無法讀取。我知道我仍然可以用所有的空格解析文件,但有時候我需要手動修改某些元素的屬性值,並且這樣做很困難(並且非常麻煩)。我當然可以手動刪除空白,但如果我有幾十個這些XML文件不是真的可行的話。Python xml.dom.minidom removeChild空白問題
有沒有辦法做.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()
感謝很多的幫助。
你怎麼寫xml文件? 'Node.toxml()'?看'Node.toprettyxml()'和'Node.writexml()' –
我試過用toxml()和toprettyxml()搞亂了,並且仍然得到了同樣的問題, 。如果我找不到使用xml.dom.mini.dom的解決方案,我想我可以直接使用python搜索文檔並刪除所有空行,儘管對我來說這看起來很sl sl。 – Jamie