当前位置:首页 >  站长 >  搜索优化 >  正文

.net 生成网站地图 sitemap.xml

 2015-09-10 17:19  来源: 互联网   我来投稿 撤稿纠错

  域名预订/竞价,好“米”不错过

1.此处为Demo,借鉴别人的生成 xml

//创建xml文件方法一

protected void btn1_OnClick(object sender, EventArgs e)

{

XmlText xmltext;

XmlDocument xmldoc = new XmlDocument();

//加入XML的声明段落

XmlNode xmlnode = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);

xmldoc.AppendChild(xmlnode);

//加入一个根元素

XmlElement xmlelem = xmldoc.CreateElement("", "bookstore", "");

xmltext = xmldoc.CreateTextNode("");

xmlelem.AppendChild(xmltext);

xmldoc.AppendChild(xmlelem);

//加入一个子元素

XmlElement xmlelem1 = xmldoc.CreateElement("", "book", "");

xmltext = xmldoc.CreateTextNode("");

xmlelem1.AppendChild(xmltext);

//为子元素"book"增加两个属性

xmlelem1.SetAttribute("genre", "", "fantasy");

xmlelem1.SetAttribute("ISBN", "2-3631-4");

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1);

//创建三个子元素的子元素

XmlElement xmlelem2 = xmldoc.CreateElement("", "title", "");

xmltext = xmldoc.CreateTextNode("Oberon's Legacy");

xmlelem2.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem2);

XmlElement xmlelem3 = xmldoc.CreateElement("", "author", "");

xmltext = xmldoc.CreateTextNode("Corets, Eva");

xmlelem3.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem3);

XmlElement xmlelem4 = xmldoc.CreateElement("", "price", "");

xmltext = xmldoc.CreateTextNode("5.95");

xmlelem4.AppendChild(xmltext);

xmldoc.ChildNodes.Item(1).AppendChild(xmlelem1).AppendChild(xmlelem4);

xmldoc.Save(Server.MapPath("bookstore.xml")); //保存

}

//创建xml文件方法二

protected void btn2_OnClick(object sender, EventArgs e)

{

XmlDocument xmldoc = new XmlDocument(); //创建空的XML文档

xmldoc.LoadXml("" +

"" +

"" +

"" +

"Corets, Eva" +

"5.95" +

"" +

"");

xmldoc.Save(Server.MapPath("bookstore2.xml")); //保存

}

如果如下:

Corets, Eva

5.95

不是我想要的网站地图xml文件。

2.以下是我自己根据实际情况写的

using System;

using System.Collections.Generic;

using System.IO;

using System.Threading;

using System.Xml;

namespace Helper

{

public class SitemapXml

{

private const string Xmlns = "";

private const string XmlnsXsi = "";

private const string XsiSchemaLocation = " ";

///

/// 生成SiteMap地图

///

///需要生成的 对象列表

///设置文件保存名称

///更新周期

///xml文件保存路径

///

public static bool CreateSiteMapXml(ListsiteMaps, string savePath = "/", string saveFileName = "sitemap", string changefreq = "weekly")

{

//保存创建好的XML文档

string filename = saveFileName + ".xml";

string path = System.Web.HttpContext.Current.Server.MapPath(savePath) + filename;

//先创建XML,返回路径

var xmldoc = new XmlDocument();

//加入XML的声明段落,

XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", "UTF-8", null);

xmldoc.AppendChild(xmldecl);

//加入一个根元素

XmlNode xmlelem = xmldoc.CreateElement("", "urlset", "");

//添加属性

XmlAttribute attr = xmldoc.CreateAttribute("xmlns");

attr.Value = Xmlns;

if (xmlelem.Attributes != null) xmlelem.Attributes.SetNamedItem(attr);

attr = xmldoc.CreateAttribute("xmlns:xsi");

attr.Value = XmlnsXsi;

if (xmlelem.Attributes != null) xmlelem.Attributes.SetNamedItem(attr);

attr = xmldoc.CreateAttribute("xsi:schemaLocation");

attr.Value = XsiSchemaLocation;

if (xmlelem.Attributes != null) xmlelem.Attributes.SetNamedItem(attr);

xmldoc.AppendChild(xmlelem);

string lastmod = DateTime.Now.ToString("yyyy-MM-dd");

for (int i = 0; i < siteMaps.Count; i++)

{

XmlNode root = xmldoc.SelectSingleNode("urlset");//查找

if (root == null)

{

//加入一个根元素

xmlelem = xmldoc.CreateElement("", "urlset", "");

//添加属性

attr = xmldoc.CreateAttribute("xmlns");

attr.Value = Xmlns;

if (xmlelem.Attributes != null) xmlelem.Attributes.SetNamedItem(attr);

attr = xmldoc.CreateAttribute("xmlns:xsi");

attr.Value = XmlnsXsi;

if (xmlelem.Attributes != null) xmlelem.Attributes.SetNamedItem(attr);

attr = xmldoc.CreateAttribute("xsi:schemaLocation");

attr.Value = XsiSchemaLocation;

if (xmlelem.Attributes != null) xmlelem.Attributes.SetNamedItem(attr);

xmldoc.AppendChild(xmlelem);

i = 0;

continue;

}

XmlElement xe1 = xmldoc.CreateElement("url");//创建一个节点

XmlElement xmlelem1 = xmldoc.CreateElement("", "loc", "");

XmlText xmltext = xmldoc.CreateTextNode(siteMaps[i].Loc);

xmlelem1.AppendChild(xmltext);

xe1.AppendChild(xmlelem1);

xmlelem1 = xmldoc.CreateElement("", "priority", "");

xmltext = xmldoc.CreateTextNode(siteMaps[i].Priority);

xmlelem1.AppendChild(xmltext);

xe1.AppendChild(xmlelem1);

xmlelem1 = xmldoc.CreateElement("", "lastmod", "");

xmltext = xmldoc.CreateTextNode(lastmod);

xmlelem1.AppendChild(xmltext);

xe1.AppendChild(xmlelem1);

xmlelem1 = xmldoc.CreateElement("", "changefreq", "");

xmltext = xmldoc.CreateTextNode(changefreq);

xmlelem1.AppendChild(xmltext);

xe1.AppendChild(xmlelem1);

root.AppendChild(xe1);//添加到节点中

}

try

{

//然后在保存到源位置

xmldoc.AppendChild(xmlelem);

xmldoc.Save(path);

return true;

}

catch (Exception)

{

return false;

}

}

}

///

///

///

///

///0.5

///2014-08-19

///weekly

///

///

///

public class SiteMap

{

///

/// 链接地址

/// 如:

///

public string Loc { get; set; }

///

/// 网页权重

/// 0.1 - 1

///

public string Priority { get; set; }

///

/// 生成日期

/// 2014-08-19

///

public string Lastmod { get; set; }

///

/// 更新周期

/// always 经常

/// hourly 每小时

/// daily 每天

/// weekly 每周

/// monthly 每月

/// yearly 每年

/// never 从不

///

public string Changefreq { get; set; }

}

}

生成的结果为:

1.00

2014-08-19

weekly

希望可以帮助到你!

SEO专题推荐:

关键词优化专题:网站关键词优化没效果?来这里学习最实用的关键词优化技巧!

内链优化专题:最能提升网站权重的内链部署优化技巧与方法

外链建设专题:高质量自然外链怎么做?读完这些你将质的飞跃

网站降权专题:2015年最有用的网站降权、被K、被黑、被攻击的解决方法

用户体验专题:学习完这些,作为站长的你可以秒懂如何做网站用户体验

行业网站专题:优化行业网站的“葵花宝典”看完后无优化压力

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关标签
sitemap.xml

相关文章

  • XML信息检索标准数据格式简介

    XML听起来可能有点陌生,但SEOer对网站地图一定不陌生,站长通常会将网站的xml地图提交至各个搜索引擎,以便获得更好地收录效果。今天,小小课堂SEO自学网带来的是《XML信息检索标准数据格式简介》。希望本次的SEO技术培训对大家有所帮助。

  • 什么是sitemap.xml?

    什么是sitemap.xml?Sitemaps协议使网站能够告知搜索引擎网站中可供抓取的网址,以便于搜索引擎google等更方便地抓取网站。而sitemap.xml是遵守该协议的包含了一个网站所有链接的xml格式文件。sitemap.xml文件可以手工编写,也可以通过软件自动生成,比如通过小爬虫在线

    标签:
    sitemap.xml
  • 常用Sitemap.xml在线生成工具(全面)

    XML地图可以让搜索引擎更迅速地了解你站点的更新。Google和yahoo都已经使用sitemapxml地图加速收录服务了。工具/原料undefined方法/步骤在线xml地图生成站点网址:http://www.xml-sitemaps.com使用很简单,输入你的网站地址,等待几分钟便可以下载为你站

    标签:
    sitemap.xml
  • 如何在谷歌站长工具提交网站地图sitemap.xml

    站点地图是为了搜索引擎能很好全面的收录你网站的信息,实际上是一个XML文档,一般命名为sitemap.xml,里边存储关于网站的所有文章的链接等,搜索引擎能通过站点地图获取文章链接。下边详细介绍如何添加站点地图工具/原料前提:在谷歌站长工具下添加了个人网站,也就是提交了域名前提二:网站根目录有sit

    标签:
    sitemap.xml
  • 向各大搜索引擎提交SITEMAP.XML的方法

    1,Googlea.向Google提交网站地图Sitemap,用URL直接提交:http://www.google.com/webmasters/sitemaps/ping?sitemap=http%3A%2F%2Fwww.onexin.net%2Fbbs%2Fsitemap.xmlb.通过Goog

热门排行

信息推荐