создание больших XML-файлов с помощью xml.dom.minidom и последующая запись их в файл с помощью toprettyxml.
Если у вас не хватает памяти, вам, вероятно, следует прекратить это делать.
Вы можете создавать XML с помощью простых манипуляций со строками.
with open(domain + ".xml", "w") as f:
f.write( "<?xml..." )
f.write( "<items>" )
for item in sdbdomain:
buffer= []
for k,v in item.items():
if not isinstance(v, basestring):
for i, val in enumerate(v):
txt= '{0}::{1}="{2}"'.format(k,i,val)
else:
txt= '{0}="{1}"'.format(k,v)
buffer.append( txt )
f.write( " <item {0}/>\n".format( " ".join(buffer) ))
f.write( "</items>" )
k= ................
k.set_contents_from_filename(f.name)
Что-то подобное должно позволить вам записать XML во временный файл без создания большого объекта DOM в памяти.