Acaba veriyi hazırlayıp, tüm bu XML baskısını tek bir değişkene atayıp, örneğin ekrana basacakalrınızı bastınız, bunların tümünü $xml adında bir değişkene atadınız, bu değişken tüm xml bilginizi kapsıyor.
Sonrasında
file_put_contents('sitemap.xml',$xml);
diyerek o dosyaya yazdırsanız olur mu acaba. Denemedim ama aklıma geldi sadece öyle. Bir bakın isterseniz.