Hola ...un poco confusa tu pregunta ...pero se me ocurre algo segun lo que entien...si tu ptoblema es que te graba denuevo todo mas lo que tenia antes...podrias borrar el xml y grabar todo denuevo ... simple....jajajaja
lo otro que podrias hacer es agregar un valor en la base de datos que indique si ese registro fue descargado al xml, por defecto lo dejas en 0(cero) y cuando lo descargas los pones en 1 , asi cada vez que quieras bajar los nuevos descargas solo los que estan en cero y lo scatualizadas a 1
eso saludos..