Puede que no hagas nada mal, simplemente que no funcione con localhost, yo lo probé en mi servidor y funcionaba correctamente.
Prueba guardandolo con el nombre sitemap.xml y accede luego así
http://localhost/sitemap.xml
De todas maneras te paso el link de donde lo saqué para que lo leas y entiendas las cosas mejor.
http://www.programacion.com/articulo..._sitio_web_258
Tambien te comento, sabes lo que es indexar? Bueno, si tu subes archivos a un servidor, y este no encuentra ningun archivo que se llame index.html o index.php o principal.php o principal.html o así (estas dependen del servidor, pues son ellos quien deciden q paginas pueden ser principales) te muestra indexadamente el contenido de la raiz, archivos y carpetas, tipo FTP pues igual lo muestra.