В вашем коде есть несколько проблем.
Сначала в вашем описании упоминается переименование исходного файла и добавление в него текста. Ваш код этого не делает, он открывает два файла, один для чтения и один для записи (с дополнительным текстом). Это правильный способ сделать что-то, так как добавление текста на месте не представляется возможным при использовании техник, которые вы используете.
Вторая проблема заключается в том, что вы открываете временный файл. Временные файлы удаляются при закрытии, поэтому вся работа, которую вы выполняли при добавлении текста, исчезает, как только вы закрываете файл.
Третья проблема заключается в том, что вы изменяете файлы XML как обычный текст. Иногда это работает, поскольку XML-файлы являются подмножеством простых текстовых файлов, но нет никаких признаков того, что вы пытались убедиться, что выходной файл был XML-файлом. Возможно, вы знаете больше о своих входных файлах, чем упомянуто, но если вы хотите, чтобы это работало правильно для 100% входных случаев, вы, вероятно, захотите создать программу записи SAX, которая записывает все операции чтения SAX, с дополнительной информацией в правильное расположение тега.