Merhabalar, bu yazımda ASP.net ile Sitemap.xml yapısını nasıl oluşturabileceğinizi örneklendiren bir çalışmaya değinmek istiyorum.
Öncelikle sitemap.aspx sayfası oluşturunuz ve sitemap.aspx.cs dosyasına girip aşağıdaki kodları yazınız;
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using System.Data.SqlClient;
public partial class sitemap : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SiteHaritasiniDondur();
}
private void SiteHaritasiniDondur()
{
StringBuilder strBuilder = new StringBuilder();
strBuilder.AppendLine("");
strBuilder.AppendLine("");
#region AnaSayfa
//AnaSayfamızı manuel olarak Ekliyoruz.
//veritabanından çekerek oluşturamayacağınız değişken olmayan linkleri bu şeklide ekleyin.
strBuilder.AppendLine("");
strBuilder.AppendLine("");
string makaleLink = String.Format("https://siteadresim.com");
strBuilder.AppendLine(makaleLink);
strBuilder.AppendLine("");
strBuilder.AppendLine("");
strBuilder.AppendLine("always");
strBuilder.AppendLine("");
strBuilder.AppendLine("");
strBuilder.AppendLine("1");
strBuilder.AppendLine("");
strBuilder.AppendLine("");
#endregion
//kategorilere gore sayfaları ekle
#region Kategoriler
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=Ornek;Integrated Security=True;");
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("Select * from categories", conn);
DataTable dt = new DataTable();
da.SelectCommand.ExecuteNonQuery();
da.Fill(dt);
foreach (DataRow row in dt.Rows)
{
strBuilder.AppendLine("");
strBuilder.AppendLine("");
string kAd = row["categoryName"].ToString();
string kID = row["categoryNo"].ToString();
if (kAd.Contains('('))
{
kAd = kAd.Substring(0, kAd.IndexOf('('));
}
//linki oluşturuken & yerine & kullanıyoruz. aksi takdirde hata verir.
makaleLink = String.Format("https://siteadresim.com/Default.aspx?KategoriID={0}&Kategori={1}", kID, kAd);
strBuilder.AppendLine(makaleLink);
strBuilder.AppendLine("");
strBuilder.AppendLine("");
strBuilder.AppendLine("weekly");
strBuilder.AppendLine("");
strBuilder.AppendLine("");
strBuilder.AppendLine("0.5");
strBuilder.AppendLine("");
strBuilder.AppendLine("");
}
#endregion
strBuilder.AppendLine("");
Response.ContentType = "text/xml";
Response.Write(strBuilder.ToString());
Response.End();
}
}
Not: Kodlar bana ait değildir. Sadece, arşivimdeki bir kodu sizlerle paylaşmak istedim.