Boş laflarla uğraşmayın. Basit ve hızlı google haber site haritası hazırlama C#.
public class News
{
public int Id { get; set; }
public string Title { get; set; }
public string Spot { get; set; }
public string Body { get; set; }
public DateTime CDate { get; set; }
public string Picture { get; set; }
public string Seo { get; set; }
}
public class SiteMap
{
public string GetGoogleSiteMap(string type)
{
var stringWriter = new StringWriter();
var writer = new XmlTextWriter(stringWriter);
writer.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"");
writer.WriteStartElement("urlset");
writer.WriteAttributeString("xmlns", "http://www.google.com/schemas/sitemap/0.9");
writer.WriteAttributeString("xmlns:image", "http://www.google.com/schemas/sitemap-image/1.1");
writer.WriteAttributeString("xmlns:news", "http://www.google.com/schemas/sitemap-news/0.9");
var data = DataProvider.SelectData.News.NewsNForSiteMap("1000");
foreach (var news in data)
{
writer.WriteStartElement("url");
writer.WriteElementString("changefreq", "hourly");
writer.WriteElementString("priority", "1.0");
writer.WriteElementString("loc", "http://www.kerimcalik.com/haber/" + news.Seo + ".htm");
if (!string.IsNullOrEmpty(news.Picture))
{
writer.WriteStartElement("image:image");
writer.WriteElementString("image:loc", "http://www.kerimcalik.com" + news.Picture);
writer.WriteElementString("image:title", news.Title);
writer.WriteElementString("image:caption", news.Spot);
writer.WriteEndElement();
}
writer.WriteStartElement("news:news");
writer.WriteStartElement("news:publication");
writer.WriteElementString("news:name", "Haberler - Kerim ÇALIK");
writer.WriteElementString("news:language", "tr");
writer.WriteEndElement();
writer.WriteElementString("news:genres", "Blog, UserGenerated");
writer.WriteElementString("news:publication_date", string.Format("{0:yyyy-MM-ddThh:mm:ss+00:00}", news.CDate));
writer.WriteElementString("news:title", news.Title);
var tags = DataProvider.SelectData.TagsPool(news.Id.ToString(), Enums.Tables.News, (int)Enums.Objects.News);
var keywords = string.Empty;
for (var i = 0; i < tags.Rows.Count; i++)
{
keywords += tags.Rows[i]["name"] + ",";
}
if (!string.IsNullOrEmpty(keywords))
{
writer.WriteElementString("news:keywords", keywords.Substring(0, keywords.Length - 1));
}
writer.WriteEndElement();
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.Close();
return stringWriter.ToString();
}
}
0 yorum:
Yorum Gönder