ASP.net ile Sitemap oluşturma
ad area

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("http://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("http://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.

Bu makaleyi paylaşın:
İstanbul'da yaşıyorum.Web üzerinde Frontend/Backend Geliştirmenin yanı sıra, Android Geliştirme, PHP/ASP.NET, C# Yazılım Uzmanlığı ve Java konuları işliyorum. Kod Şiirdir, onları seviyorum.

Bir yorum bırakın