asp.net向Google提交Sitemap的代碼

來源:互聯網
上載者:User

這兩天給自己網站寫了提交sitemap的代碼,如果是新手,請過來看,如果是高手,可以不用看。

aspx代碼

Code
 1  <tr>
 2                         <td class="detailright" style="width:150px;">
 3                             產生www開頭的課程:
 4                         </td>
 5                         <td class="detailcontent">
 6                             <asp:TextBox runat="server" ID="txtWWWCourseStart" />
 7                             -
 8                             <asp:TextBox runat="server" ID="txtWWWCourseEnd" />
 9                             <asp:Button ID="btnWWWCourse" Text="產生課程XML" runat="server" OnClick="btnWWWCourse_Click" OnClientClick="return CheckWWWCourse();" />
10                             [產生的www1-5.xml檔案,表示是 http://www.lesson9.com/course/100.html的方式訪問課程。]
11                         </td>
12                     </tr>

 

cs代碼:

Code
protected void btnWWWCourse_Click(object sender, EventArgs e)
        {
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.NewLineOnAttributes = true;
            try
            {
                int start = Convert.ToInt32(this.txtWWWCourseStart.Text.Trim());
                int end = Convert.ToInt32(this.txtWWWCourseEnd.Text.Trim());
                XmlTextWriter writer1 = new XmlTextWriter(@"X:\www\www" + start.ToString() + "-" + end.ToString() + ".xml", System.Text.Encoding.UTF8);
                XmlWriter writer = XmlWriter.Create(writer1, settings);

                writer.WriteStartDocument();
                writer.WriteStartElement("urlset");
                writer.WriteAttributeString("xmlns", "http://www.google.com/schemas/sitemap/0.84");

                var r = from i in db.Courses where i.Id <= end && i.Id >= start orderby i.Id ascending select i;
                if (r.Count() > 0)
                {
                    foreach (Lesson9.Entity.Course course in r.ToList())
                    {
                        writer.WriteStartElement("url");
                        writer.WriteElementString("loc", "http://www.XXX.com/course/" + course.Id + ".html");
                        string tempMonth = DateTime.Now.Month.ToString();
                        if (tempMonth.Length == 1)
                        {
                            tempMonth = "0" + tempMonth;
                        }
                        string tempDay = DateTime.Now.Day.ToString();
                        if (tempDay.Length == 1)
                        {
                            tempDay = "0" + tempDay;
                        }
                        writer.WriteElementString("lastmod", DateTime.Now.Year + "-" + tempMonth + "-" + tempDay);
                        writer.WriteElementString("changefreq", "monthly");
                        writer.WriteElementString("priority", "0.5");
                        writer.WriteEndElement();
                    }
                }
                writer.WriteEndElement();
                writer.WriteEndDocument();
                writer.Flush();
                writer.Close();
                this.SetMessageInfo(spanMessage, "成功添加XML檔案");
            }
            catch (Exception ex)
            {
                this.SetMessageInfo(spanMessage, "添加出錯了:"+ ex.Message);
            }
           
        }

另1:XmlWriter writer = XmlWriter.Create(writer1, settings); 如果 writer1是直接檔案路徑如 d:\TestFolder\TestFile.xml 則settings有效果,不然無效。
哪位知其原,請告訴我。不甚感謝。

另2:google sitemap 暫不支援次層網域的提交,哪位有好方法,歡迎獻上來。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.