Я пытаюсь прочитать XML-файл в Python, извлечь определенные элементы из XML-файла и затем записать результаты обратно в XML-файл (так что в основном это оригинальный XML-файл без нескольких элементов). Когда я использую .removeChild (источник), он удаляет отдельные элементы, которые я хочу удалить, но оставляет вместо него пробелы, что делает файл очень нечитаемым. Я знаю, что все еще могу проанализировать файл со всеми пробелами, но бывают случаи, когда мне нужно вручную изменять значения атрибутов определенных элементов, и это затрудняет (и раздражает) это сделать. Я, конечно, могу удалить пробелы вручную, но если у меня есть десятки этих 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()
Большое спасибо за помощь.