在网站完成开发之后,如果需要手动提交给搜索引擎,如果连接地址过多,单个提交则不现实,这时则需要使用sitemap进行提交xml文件,以下就给大家提供C#生成sitemap xml文件的实现代码
/// <summary>
/// 创建Sitemap XML文件
/// </summary>
public void CreateSiteMapXml()
{
string currentXmlFileDirectory = "sitemMap/";
string currentXmlFileName = "3.xml"; //每次生成完成后需要手动填写待生成的xml文件名
var articleList = new ArticleTableBLL().GetArticleTableList(); //获取需要生成sitemmap的数据
XmlDocument xmlDoc = new XmlDocument();
//加入XML的声明段落:<?xmlversion="1.0" encoding="utf-8"?>
XmlDeclaration xmldecl = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
xmlDoc.AppendChild(xmldecl);
XmlElement xe = xmlDoc.CreateElement("urlset");//创建一个urlset根元素
xmlDoc.AppendChild(xe);
XmlNode root = xmlDoc.SelectSingleNode("urlset");//查找<urlset>
foreach (var item in articleList)
{
XmlElement xe1 = xmlDoc.CreateElement("url"); //创建一个<api>节点
XmlElement xesub1 = xmlDoc.CreateElement("loc");
xesub1.InnerText = $"http://www.lawzhishi.cn"; //此处拼接动态地址
xe1.AppendChild(xesub1);
XmlElement xesub2 = xmlDoc.CreateElement("lastmod");
xesub2.InnerText = item.AddTime.ToString("yyyy-MM-dd");
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("changefreq"); //是用来告诉搜索引擎网站更新的周期,描述的单词:“always”(经常) 、“hourly”(每时)、“daily”(每天)、“weekly”(每周)、“monthly”(每月)、“yearly”(每年)。像首页就可以用“always”;对于很久前的链接或不再更新内容的链接就可以使用“yearly”。
xesub3.InnerText = "daily";
xe1.AppendChild(xesub3);
XmlElement xesub4 = xmlDoc.CreateElement("priority");
xesub4.InnerText = "0.8";
xe1.AppendChild(xesub4);
root.AppendChild(xe1);
alreadyId = item.Id;
}
string directoryUrl = AppDomain.CurrentDomain.BaseDirectory + currentXmlFileDirectory;
if (!Directory.Exists(directoryUrl))
{
Directory.CreateDirectory(directoryUrl);
}
xmlDoc.Save(directoryUrl + currentXmlFileName); //此处放xml文件的保存地址
}
创建完成后的xml文件内容格式:
<?xml version="1.0" encoding="utf-8"?>
<urlset>
<url>
<loc>http://www.lawzhishi.cn/info.html?id=100000</loc>
<lastmod>2022-07-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.lawzhishi.cn/info.html?id=100001</loc>
<lastmod>2022-07-14</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>
生成好的xml将文件复制到网站发布文件中,将访问地址提交到搜索引擎中即可,等待搜索引擎收录。
这里给大家推荐一个好用的在线工具:在线反应速度测试工具|爱工具(AI工具)方便实用的在线服务工具
以及