Buna benzer bir yapıyı bende kullanmıştım, sizin kodlarınız üzerinde inceleme yapınca aşağıda denediğim statik örnek çalışmakta, muhtemelen hata alma nedeniniz veritabanı ile ilgili olan işlemleriniz de olan bir hatadan kaynaklanıyor olabilir.

Farklı örneklere bakmadan önce isterseniz bir o tarafı inceleyiniz.




using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Xml;

namespace test
{
public partial class yeni : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear(); //sitemap xml formatlı olduğundan sayfamızın içeriğini temizliyoruz.
Response.ContentType = "text/xml";

XmlTextWriter xr = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
xr.WriteStartDocument();
xr.WriteStartElement("urlset"); // sitemap standartı gereği urlset düğümü oluşturuyoruz.

// aşağıdaki kodlar ile sitemap`in hangi standartlara uygun olduğunuz belirliyoruz.
xr.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
xr.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
xr.WriteAttributeString("xsi:schemaLocation","http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd ");

xr.WriteStartElement("url");
xr.WriteElementString("loc", "http://www.sitemaps.org//iletisim/");
xr.WriteEndElement();

xr.WriteEndDocument();
xr.Flush();
xr.Close();

Response.End();
}
}
}