לאחר יצירת דף XML בROOT של האתר, הקוד ישאב את שמות הכתבה והתאריך יצירה שלהם מהנתונים בDB (לאחר שיוסיף להם את הכתובת של האתר והסיום aspx)
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Xml;
/// <summary>
/// Summary description for siteMap
/// </summary>
public class siteMap
{
public siteMap() {}
public class nodeXmlSiteMap{
private string _loc = "http://www.mysite.co.il/";
public string loc { get { return _loc; } set { value = value + ".aspx"; _loc = value; } }
private string _priority = "1.0";
public string priority { get {return _priority; } set {_priority = value; } }
private string _changefreq = "Monthly";
public string changefreq { get { return _changefreq; } set { _changefreq = value; } }
private string _lastmod = String.Format("{0:yyyy-MM-dd}", DateTime.Now);
public string lastmod {get {return _lastmod;} set { _lastmod = value; }
}
}
public void createFileSiteMap() {
XmlTextWriter writer = new XmlTextWriter(HttpRuntime.AppDomainAppPath + "sitemap.xml", System.Text.Encoding.UTF8);
writer.WriteStartDocument(true);
writer.Formatting = Formatting.Indented;
writer.Indentation = 4;
writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9 ");
writer = getDataFromDB(writer);
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
}
private XmlTextWriter getDataFromDB(XmlTextWriter writer)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Con"].ConnectionString);
SqlCommand cmd;
try
{
cmd = new SqlCommand("SELECT UrlArticle,DateArticle FROM Article");
cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.Text;
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
nodeXmlSiteMap url = new nodeXmlSiteMap();
url.loc = url.loc +
dr[0].ToString();
// url.priority ="1.0";
//url.changefreq = "Monthly";
DateTime _myDate = new DateTime();
_myDate = (DateTime)dr[1];
url.lastmod = String.Format("{0:yyyy-MM-dd}",
_myDate);
createNode(url, writer);
}
con.Close();
}
catch (Exception ex)
{
}
return writer;
}
private void createNode(nodeXmlSiteMap url, XmlTextWriter writer)
{
writer.WriteStartElement("url");
writer.WriteStartElement("loc");
writer.WriteString(url.loc);
writer.WriteEndElement();
writer.WriteStartElement("lastmod");
writer.WriteString(url.lastmod);
writer.WriteEndElement();
writer.WriteStartElement("changefreq");
writer.WriteString(url.changefreq);
writer.WriteEndElement();
writer.WriteStartElement("priority");
writer.WriteString(url.priority);
writer.WriteEndElement();
writer.WriteEndElement();
}
}