亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C# > 正文

詳解C# 網(wǎng)站地圖制作

2024-09-07 17:05:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

網(wǎng)站地圖相信大家都是比較熟悉的,不僅能為用戶提供方便的瀏覽,而且能為搜索引擎提供很好的抓取,今天錯(cuò)新技術(shù)頻道小編與大家分享的是詳解C# 網(wǎng)站地圖制作,一起來(lái)跟著小編來(lái)學(xué)習(xí)吧!

詳解C# 網(wǎng)站地圖制作

1、 我們的網(wǎng)站是用C#開(kāi)發(fā)的,我們采用數(shù)據(jù)庫(kù)存儲(chǔ)所有文章信息。所以我們的文章都是動(dòng)態(tài)地從數(shù)據(jù)庫(kù)中提取出來(lái)的。這點(diǎn)很不利于蜘蛛的順藤摸瓜。
2、 這點(diǎn)嘛,嘿嘿,就有些勉強(qiáng)了。做個(gè)網(wǎng)站地圖,可以讓用戶對(duì)敝網(wǎng)站的內(nèi)容一目了然,能起到很好的導(dǎo)航作用。
鑒于上述原因,于是乎,俺就決定為俺地“赤兔英語(yǔ)網(wǎng)”做一個(gè)網(wǎng)站地圖。由于Google等搜索引擎所需的網(wǎng)站地圖必須是XML文件,所以俺決定做網(wǎng)頁(yè)形式和XML形式兩種網(wǎng)站地圖。我們的網(wǎng)站是用C#開(kāi)發(fā)的,當(dāng)然是使用C#語(yǔ)言來(lái)編寫(xiě)俺地網(wǎng)站地圖了,赫赫。
首先,我們來(lái)看看,我們的網(wǎng)站地圖該怎么生成,怎么展現(xiàn)。簡(jiǎn)單思考之后,我決定這樣做。網(wǎng)站首頁(yè)的菜單中添加“網(wǎng)站地圖”選項(xiàng),其鏈接著網(wǎng)頁(yè)形式的網(wǎng)站地圖,頁(yè)面名字為sitemap.html;首頁(yè)的底部也添加鏈接“網(wǎng)站地圖”,其鏈接著XML格式的網(wǎng)站地圖,頁(yè)面名字為sitemap.xml。這兩個(gè)頁(yè)面生成程序在后臺(tái)添加。設(shè)置一個(gè)按鈕,管理員在一段時(shí)間內(nèi)點(diǎn)擊該按鈕,直接生成這兩個(gè)文件,放在網(wǎng)站的根目錄下,供客戶端隨時(shí)調(diào)用。
下面,我們來(lái)看看生成網(wǎng)站地圖的代碼的具體實(shí)現(xiàn)。為了文章可讀性,我們從頂向下來(lái)對(duì)code實(shí)現(xiàn)過(guò)程做以介紹。
一、網(wǎng)站地圖的頂層設(shè)計(jì)
頂層的網(wǎng)站地圖生成按鈕的code為:
protected void BtnGenerateSitemap_Click(object sender, EventArgs e)
{
createHtmlSitemap();
createXMLSitemap();
WebUtility.ResponseScript("網(wǎng)站地圖生成完畢!",0);
}
上面code一目了然,createHtmlSitemap()用來(lái)生成html網(wǎng)站地圖,createXMLSitemap()用來(lái)生成XML網(wǎng)站地圖。
二、Html網(wǎng)站地圖的生成
我們先介紹Html網(wǎng)站地圖的生成。createHtmlSitemap()的code如下:
public void createHtmlSitemap()
{
FileInfo HtmlFile = null;
StreamWriter WriteHtmlFile = null;
string FilePath = Server.MapPath("sitemap.html");//獲取html文件路徑及名稱
HtmlFile = new FileInfo(FilePath);//創(chuàng)建html文件
WriteHtmlFile = HtmlFile.CreateText();
WriteHtmlFile.WriteLine("

");
WriteHtmlFile.WriteLine("");
WriteHtmlFile.WriteLine("");
WriteHtmlFile.WriteLine("

");
WriteHtmlFile.WriteLine("");
WriteHtmlFile.WriteLine("

");
getHtmlSitemapData(WriteHtmlFile);
WriteHtmlFile.WriteLine("

");
WriteHtmlFile.WriteLine("");
WriteHtmlFile.Close();
}
上述code創(chuàng)建了html文件sitemap.html,并使用對(duì)象StreamWriter書(shū)寫(xiě)了sitemap.html。函數(shù)getHtmlSitemapData(WriteHtmlFile)完成了sitemap.html正文部分的組織。
需要注意的是,如果網(wǎng)站地圖中有中文,必須將charset設(shè)置為UTF-8。否則中文不能正常顯示。
public void getHtmlSitemapData(StreamWriter writerFile)
{
string classTableName = "ArticleClass";
string articleItemTableName = "ArticleItem";
string connectionString = ConfigurationManager.AppSettings["SQLConnString"].ToString();
SqlConnection conn = new SqlConnection(connectionString);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
//查詢大類(lèi)信息
SqlDataAdapter classDataAdpt = new SqlDataAdapter("SELECT Id, Classname FROM " + classTableName, connectionString);
DataSet classDataSet = new DataSet();
classDataAdpt.Fill(classDataSet, classTableName);
writerFile.WriteLine("");
//按照大類(lèi)信息來(lái)查取各個(gè)大類(lèi)下的文章信息
for (int i = 0; i < classDataSet.Tables[0].Rows.Count; i++)
{
string tempsql = "SELECT Id, ArticleTitle, Parentid FROM " + articleItemTableName + " where Parentid = " + classDataSet.Tables[0].Rows[i][0].ToString();
SqlCommand cmd = new SqlCommand(tempsql, conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (rdr.HasRows)
{
int classId = 0;
int rowNum = 0;//記錄處理了篇文章信息
int memberInLine = 5;//每行顯示多少篇文章的鏈接信息
while (rdr.Read())
{
//處理大類(lèi)信息,大類(lèi)也需要以超鏈接的方式寫(xiě)入html文件
if (classId != int.Parse(rdr[2].ToString()))
{
rowNum = 0;
classId = int.Parse(rdr[2].ToString());
writerFile.WriteLine("");
writerFile.WriteLine("");
writerFile.WriteLine("");
}
//處理文章信息
rowNum++;
if (1 == (rowNum % memberInLine))//a new line
{
writerFile.WriteLine("");
}
writerFile.WriteLine("");
if (0 == (rowNum % memberInLine))//a new line
{
writerFile.WriteLine("");
}
}
}
rdr.Close();
}
writerFile.WriteLine("

");
writerFile.WriteLine("" + classDataSet.Tables[0].Rows[i][1].ToString() + "");
writerFile.WriteLine("
");
writerFile.WriteLine("" + rdr[1].ToString() + "");
writerFile.WriteLine("

");
}
三、XML網(wǎng)站地圖的生成
XML網(wǎng)站地圖的生成與Html不同點(diǎn)在于,Google等搜索引擎對(duì)這種網(wǎng)站地圖的格式有嚴(yán)格的要求,必須遵守,否則不會(huì)被他們承認(rèn)。具體xml文件格式可參考http://www.chituwang.com/Article/WZJS/detail.aspx?articleid=18092
createXMLSitemap()函數(shù)的實(shí)現(xiàn)如下:
public void createXMLSitemap()
{
FileInfo XMLFile = null;
StreamWriter WriteXMLFile = null;
string FilePath = Server.MapPath("sitemap.xml");
XMLFile = new FileInfo(FilePath);
WriteXMLFile = XMLFile.CreateText();
//下面兩句話必須寫(xiě),而且不能做任何修改
WriteXMLFile.WriteLine("");
WriteXMLFile.WriteLine("");
getXMLSitemapData(WriteXMLFile);
WriteXMLFile.WriteLine("
");//別忘了這句話
WriteXMLFile.Close();
}
createXMLSitemap()的實(shí)現(xiàn)如下:
public void getXMLSitemapData(StreamWriter writerFile)
{
string classTableName = "ArticleClass";
string articleItemTableName = "ArticleItem";
string connectionString = ConfigurationManager.AppSettings["SQLConnString"].ToString();
SqlConnection conn = new SqlConnection(connectionString);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
//查詢大類(lèi)信息
SqlDataAdapter classDataAdpt = new SqlDataAdapter("SELECT Id, Classname FROM " + classTableName, connectionString);
DataSet classDataSet = new DataSet();
classDataAdpt.Fill(classDataSet, classTableName);
for (int i = 0; i < classDataSet.Tables[0].Rows.Count; i++)
{
string tempsql = "SELECT Id, ArticleTitle, Parentid FROM " + articleItemTableName + " where Parentid = " + classDataSet.Tables[0].Rows[i][0].ToString();
SqlCommand cmd = new SqlCommand(tempsql, conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (rdr.HasRows)
{
int subClassId = 0;
while (rdr.Read())
{
//處理大類(lèi)信息,
if (subClassId != int.Parse(rdr[0].ToString()))
{
subClassId = int.Parse(rdr[0].ToString());
writerFile.WriteLine("");
writerFile.WriteLine("" + "http://www.chituwang.com/Article/index.aspx?parentid=" + rdr[2].ToString() + "");
writerFile.WriteLine("" + DateTime.Now.ToShortDateString() + "");
writerFile.WriteLine("daily");
writerFile.WriteLine("0.5");
writerFile.WriteLine("
");
}
//處理文章信息
writerFile.WriteLine("");
writerFile.WriteLine("" + "http://www.chituwang.com/Article/index.aspx?articleid=" + rdr[0].ToString() + "");
writerFile.WriteLine("" + DateTime.Now.ToShortDateString() + "");
writerFile.WriteLine("monthly");
writerFile.WriteLine("0.4");
writerFile.WriteLine("
");
}
}
rdr.Close();
}
}
通過(guò)上面兩個(gè)小節(jié)的介紹,網(wǎng)頁(yè)和XML兩種形式的網(wǎng)站地圖就生成了。
四、網(wǎng)站地圖的提交
向Google提交網(wǎng)站地圖:
  https://www.google.com/webmasters/tools/login?hl=zh_CN
  1、進(jìn)入這個(gè)網(wǎng)址,用你的Google帳戶登錄,然后添加你的網(wǎng)址;
  2、接下來(lái)按照Google的要求驗(yàn)證你網(wǎng)站,你可以選擇html文件驗(yàn)證。
  3、這時(shí)候,按照Google的要求,制作一個(gè)Google要求的文件名的html文件
  4、用FTP講這個(gè)html文件和你的xml格式的網(wǎng)站地圖文件一起傳到你網(wǎng)站的根目錄
  5、確認(rèn)驗(yàn)證,回到控制臺(tái),添加你的地圖文件。很快,Google就會(huì)根據(jù)網(wǎng)站地圖文件來(lái)更新你的網(wǎng)站
向yahoo提交網(wǎng)站地圖:
  英文yahoo提交網(wǎng)址:
  http://search.yahoo.com/info/submit.html
  首先用FTP講你的網(wǎng)站地圖傳到網(wǎng)站的根目錄。打開(kāi)網(wǎng)址后,選擇Submit Your Site for Free: 用yahoo帳戶登錄,然后輸入你的網(wǎng)站地圖的URL就可以了。
  中文Yahoo的提交網(wǎng)址:
  http://sitemap.cn.yahoo.com/mysites
  這個(gè)操作和Google的差不多,登錄、驗(yàn)證網(wǎng)站、提交網(wǎng)址地圖URL。
向MSN提交網(wǎng)站地圖Sitemap: 用URL直接提交:http://api.moreover.com/ping?u=http://your.domainname/sitemap.xml
這是向MSN直接提交網(wǎng)站地圖的后門(mén)URL
向ASK提交網(wǎng)站地圖Sitemap: 直接提交。http://submissions.ask.com/ping?sitemap=http://your.domainname/sitemap.xml
向網(wǎng)店聯(lián)盟提交地址:http://www.dianmeng.com/
向百度Baidu提交網(wǎng)站地圖Sitemap: 沒(méi)辦法,現(xiàn)在百度不支持Sitemap。但可通過(guò)http://www.baidu.com/search/url_submit.html來(lái)提交你的網(wǎng)址。

上文是錯(cuò)新技術(shù)頻道小編為大家搜集到的相關(guān)介紹,希望對(duì)你了解詳解C# 網(wǎng)站地圖制作有所幫助!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩欧美黄色网址| 99超碰在线观看| 国产成人艳妇aa视频在线| 99精品国产九九国产精品| 欧美午夜小视频| 日韩经典第一页| 国产精品女视频| 第九区2中文字幕| 青青草影院在线观看| 91精品国产自产观看在线| 911美女片黄在线观看游戏| 性直播体位视频在线观看| 久久久久国产一区二区三区| 国产欧美日韩亚州综合| jizzjizzjizzjizzjizzjizzjizz| 色噜噜狠狠色综合网| 色综合天天综合网中文字幕| 欧美一区二区激情视频| 99在线高清视频在线播放| 精品视频一区二区在线| av小次郎在线| 亚洲综合影院| 国产精品久久久久高潮| 五月婷婷综合激情| 亚洲精品77777| 国产一级黄色片免费| 国产成a人无v码亚洲福利| av在线之家电影网站| 最近中文字幕一区二区三区| 日本免费高清一区二区| 九九热青青草| 久久99精品国产麻豆婷婷| www.8ⅹ8ⅹ羞羞漫画在线看| 中文字幕免费高| 色综合av综合无码综合网站| 亚洲欧洲美洲一区二区三区| 日本边添边摸边做边爱的第三级| 欧美成人免费在线| 国产美女精品久久| 一本大道伊人av久久综合| 亚洲国产成人精品一区二区| 国产精品一码二码三码在线| 伊人成人222| 午夜免费啪视频观看视频| 国产欧美一区二区三区小说| 中文字幕另类日韩欧美亚洲嫩草| 凹凸国产熟女精品视频| 亚洲欧美日韩精品久久| 黄瓜视频在线观看| 婷婷在线播放| 在线观看av网页| 国产一区二区免费看| 国产精品亚洲综合久久| 三级福利视频| 国内欧美视频一区二区| 亚洲va韩国va欧美va精品| 国产成人高潮免费观看精品| 男人天堂视频在线| 亚洲欧美日韩高清| 精品无码久久久久久久久| 精品精品精品| 成人精品第一区二区三区| 变态另类ts人妖一区二区| 色综合久久66| 国产成人短视频在线观看| 中文字幕一区二区三区5566| 一区二区三区四区激情| 久久久久99精品成人片我成大片| 亚洲欧美另类在线| 国产毛片精品国产一区二区三区| 日韩一卡二卡在线观看| 欧美吞精做爰啪啪高潮| 久久99久国产精品黄毛片色诱| 久久精品国产亚洲夜色av网站| 尤物国产精品| 色偷偷av亚洲男人的天堂| 91成人免费在线视频| 国产一区二区三区精彩视频| 天堂av资源网| 国产成人97精品免费看片| 网红女主播少妇精品视频| 中文字幕乱码一区二区三区| 国产自产女人91一区在线观看| 在线观看天堂av| 波多野结衣视频在线播放| 中文字幕精品无| 91av视频在线观看| 日韩在线资源网| 国内精品久久久久久久久电影网| 18视频在线观看网站| 18免费在线视频| 天堂va欧美ⅴa亚洲va一国产| 日韩av综合网| 欧美女同一区| 一本色道久久综合亚洲精品小说| 亚洲天堂男人天堂女人天堂| 亚洲视频一区二区在线观看| 欧美网站在线| 青檬在线电视剧在线观看| 亚洲精品成人三区| 91中文字精品一区二区| 日本aⅴ免费视频一区二区三区| 亚洲v片在线观看| 九九九九九精品| 91插插插插插插| 日本www高清视频| 妺妺窝人体色777777| 精品久久久免费| 精品福利av导航| 日本三级日本三级日本三级极| 国内精品视频在线| 日本精品一区二区三区在线播放视频| 成人小电影网站| 国产欧美日韩精品一区二区免费| 国产亚洲精品自拍| 国产女主播一区二区三区| 国产精品久久久久久久乖乖| 国产精品入口麻豆免费观看| 中文字幕在线直播| 调教视频vk| 男人操女人免费网站| jizzjizz国产| 亚洲一区二区三区四区中文字幕| 欧美日韩国产在线播放网站| 亚洲午夜精品久久久久久久久久久久| 国产精品r级在线| 成人永久aaa| 日韩欧美一区在线观看| 精品人妻无码一区二区三区换脸| 51成人精品网站| 日韩精品一级中文字幕精品视频免费观看| 成人免费高清完整版在线观看| 亚洲欧洲日韩| 中文字幕一区二区三区四区免费看| 亚洲人成在线网站| 亚洲黄页视频免费观看| 免费在线一级片| 日韩欧美中文字幕不卡| 亚洲一区中文字幕在线观看| 97在线视频免费观看完整版| 3d动漫一区二区三区在线观看| 天天操夜夜操视频| 日韩片电影在线免费观看| 欧美野外性xxxxfeexxxx| 久久久久免费看黄a片app| 国产成人无码a区在线观看视频| 欧美极品一区二区三区| 国产视频一区二区| 岛国中文字幕| 99re8精品视频在线观看| 亚洲精品动态| 精品人妻互换一区二区三区| 黄网站色欧美视频| 久久嫩草捆绑紧缚| 亚洲精品电影网站| 日日夜夜精品免费| eeuss草民免费| 亚洲人一区二区| 天天干天天干天天| 最新福利小视频在线播放| 夜色资源网av在先锋网站观看| 久久99精品久久久野外观看| 在线观看黄色国产| 精品一区二区三区中文字幕| 992kp快乐看片永久免费网址| 亚洲成人人体| 亚洲综合五月天| 亚洲国产精彩中文乱码av| 中文字幕一区二区三区四区久久| 黄色国产网站在线观看| 亚洲成人7777| 在线人成动漫视频在线观看| 九九热在线视频观看| 国产乱色国产精品免费视频| 8x8x8x视频在线观看| 免费在线播放av| 图片专区亚洲欧美另类| 国产精品久久麻豆| 天天射成人网| 成人mm视频在线观看| 丰满少妇久久久久久久| 久久国产婷婷国产香蕉| 人妻91麻豆一区二区三区| 国产一区二区三区视频免费观看| 欧美在线视频免费观看| 黄色免费视频观看| 国产午夜精品无码| 国产精品普通话| 成人av先锋影音| 麻豆传媒网站在线观看| 久久影院100000精品| a级精品国产片在线观看| 暧暧视频在线免费观看| 碰碰在线视频| 国产l精品国产亚洲区在线观看| 欧美日韩大片一区二区三区| 欧美电影免费观看高清| 色综合999| 欧美激情综合色综合啪啪五月| 日本美女一区二区三区| 人妻无码久久一区二区三区免费| 超碰97av在线| 一线天自拍视频| www.久久久久久久久| 国产日韩一区在线| 黄色不卡一区| 精品少妇一区| 永久免费观看精品视频| 成人一级黄色片| 爽死777影院| 中文字幕五月欧美| 少妇高潮惨叫久久久久| 国产女人免费看a级丨片| 天堂中文字幕在线观看| 成人网站免费观看入口| 国产一区二区看久久| 天天插综合网| 在线国产精品一区| 亚州av一区| 精品国产伦一区二区三区观看说明| 91麻豆国产语对白在线观看| 亚洲三级精品| 国内自拍中文字幕| 麻豆视频免费在线观看| 欧美三级在线看| 91手机在线视频| 青青草视频在线视频| 中文字幕国产在线观看| 日韩xxx高潮hd| 精品成人在线| 免费吸乳羞羞网站视频| 亚洲视频电影在线| 欧美bbbbxxxx| 亚洲电影免费观看高清完整版在线| 一个人www视频在线免费观看| 色偷偷av男人的天堂| 超碰影院在线观看| 中出视频在线观看| 欧美一区二区三区久久精品| 在线播放日韩导航| 国产三级视频在线播放线观看| 精品久久久久久无码中文野结衣| 成人av免费在线| 欧美亚州韩日在线看免费版国语版| 国产v在线观看| 国产精品有限公司| 国产成人无码一区二区在线播放| 亚洲精品少妇久久久久久| 国产女人免费看a级丨片| 欧美一二三四在线| 国产91精品在线观看| 亚洲这里只有精品| 日韩一区二区三| 18video性欧美19sex高清| 午夜精品一区二区三区视频免费看| 自拍偷拍中文字幕| 日本精品久久久久影院| 日韩网红少妇无码视频香港| 欧美在线观看天堂一区二区三区| 日韩成人午夜精品| 色欲AV无码精品一区二区久久| 美女的尿口免费视频| 久久永久免费视频| 欧美xxxx黑人又粗又长密月| 天天综合五月天| 91超碰成人| 国产aⅴ爽av久久久久| **精品中文字幕一区二区三区| 爱情岛论坛亚洲首页入口章节| 一区二区日本伦理| 精品国产午夜肉伦伦影院| 亚洲第一精品区| 视频在线观看免费影院欧美meiju| 国产成人一级片| 亚洲天堂av在线| 国产又爽又黄的视频| 99国产精品久久久久久久成人热| 日韩区国产区| 色悠悠亚洲一区二区| 久久中文字幕av| 91导航在线观看| 亚洲综合久久网| 亚洲精品人成网在线播放影院| 欧美电影免费| 僵尸再翻生在线观看免费国语| 91精品国产免费久久综合| 国产午夜精品免费一区二区三区| а天堂中文最新一区二区三区| 日本动漫理论片在线观看网站| 日本中文字幕在线2020| 欧美在线free| 精品久久久久99| 丁香花五月婷婷| 久久婷婷色综合| 9l视频自拍蝌蚪9l视频成人| 国产精品久久久久久久久久久久久久久| 国偷自产av一区二区三区| 欧美白人最猛性xxxxx69交| 欧美日韩亚洲高清| 亚洲精品美女在线观看| 精品粉嫩超白一线天av| 日韩精品福利| 国产精品青青草| 日韩人妻无码精品久久久不卡| 国产精品国色综合久久| 亚洲一二三级电影| 日韩中文欧美| 国产精品99久久久| 蜜桃久久影院| 亚州精品永久观看视频| 老司机性视频| 免费看的黄色录像| 亚洲大胆人体在线| 91免费视频观看| 精品露脸国产偷人在视频| 欧美精品尤物在线观看| 国产va在线播放| 男人先锋资源| 久久久久久久毛片| 久久精品国产网站| 午夜成年女人毛片免费观看| 亚洲影视在线| 午夜小视频福利在线观看| 97久久综合精品久久久综合| 欧美专区在线| 亚洲精品白虎| 欧美做爰爽爽爽爽爽爽| 日本中文字幕在线免费观看|