求一个siteMap的例子,可以动态更新的
如题
因为网站会带参数,而sitemap又是固定的,求解决方法 --------------------编程问答-------------------- protected void Button1_Click(object sender, EventArgs e)
{
writeMap("http://www.xxx.com", Server.MapPath("/sitemap.xml"));
}
public static void writeMap(string _fullFileName, string mapPath)
{
string fullFileName = _fullFileName;
string strLoc = string.Empty;
string siteMapPath = mapPath;
FileInfo XMLFile = null;
StreamWriter writerXMLFile = null;
XMLFile = new FileInfo(siteMapPath);
writerXMLFile = XMLFile.CreateText();
//添加sitMap的头
writerXMLFile.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
writerXMLFile.WriteLine("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">");
//商品详细
DataTable dt = new DataTable();
dt = products.select();
for (int i6 = 0; i6 < dt.Rows.Count; i6++)
{
int nid = int.Parse(dt.Rows[i6]["id"].ToString());
string nurl = "/xxxx.aspx?aid=" + dt.Rows[i6]["id"].ToString();
strLoc = fullFileName + nurl;
addXMLSitMap(writerXMLFile, strLoc, 0.8);
}
}
/// <summary>
/// 生成站点地图中间部分
/// </summary>
/// <param name="writerFile"></param>
/// <param name="strLoc"></param>
/// <param name="priority"></param>
private static void addXMLSitMap(StreamWriter writerFile, string strLoc, double priority)
{
writerFile.WriteLine(" <url>");
writerFile.WriteLine("<loc>" + strLoc + "</loc>");
writerFile.WriteLine("<lastmod>" + DateTime.Now.ToString("yyyy-MM-dd") + "</lastmod>");
writerFile.WriteLine("<changefreq>daily</changefreq>");
writerFile.WriteLine("<priority>" + priority.ToString("0.0") + "</priority>");
writerFile.WriteLine(" </url>");
} --------------------编程问答-------------------- 做个服务程序,实时更新XML。
--------------------编程问答-------------------- 1、添加一个网站地图项 Web.sitemap项
2、在 Web.sitemap项的写法如下:
<?xml version="1.0" encoding="utf-8"?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode url="default.aspx" title="首页" description="">
<siteMapNode url="Supply.aspx" title="产品信息" description="" >
<siteMapNode url="productdetails.aspx" title="产品详细信息" description="" />
</siteMapNode>
<siteMapNode url="register.aspx" title="新用户注册"/>
<siteMapNode url="Demand.aspx" title="产品信息" description="">
</siteMapNode>
<siteMapNode url="Projects.aspx" title="招投标信息" description="">
<siteMapNode url="DownLoad.aspx" title="相关表格下载" description="" />
<siteMapNode url="ProjectInfor.aspx" title="招投标详细信息" description="" />
</siteMapNode>
<siteMapNode url="newsfront.aspx" title="新闻" description="">
<siteMapNode url="news_detail.aspx" title="行业资讯详细信息" description="" />
<siteMapNode url="company_details.aspx" title="会员展厅详细信息" description="" />
<siteMapNode url="ManuscriptFront.aspx" title="在线投稿" description="" />
<siteMapNode url="subject_detail.aspx" title="专题栏目详细信息" description="" />
<siteMapNode url="expertinterview_detail.aspx" title="人物专访详细信息" description="" />
</siteMapNode>
<siteMapNode url="ForeTrain.aspx" title="培训咨询" description="">
<siteMapNode url="TrainInfor.aspx" title="培训详细信息" description="" />
<siteMapNode url="BusiHandBook.aspx" title="商务手册" description="" />
<siteMapNode url="Technology.aspx" title="技术咨询" description="">
<siteMapNode url="TechInfor.aspx" title="技术信息" description=""/>
</siteMapNode>
<siteMapNode url="Expert.aspx" title="专家顾问团" description="" />
</siteMapNode>
<siteMapNode url="ExhibitFront.aspx" title="机电信息展览馆" description="">
<siteMapNode url="exhibit_detail.aspx" title="会展详细信息" description=""/>
</siteMapNode>
</siteMapNode>
</siteMap>
3、在web.config文件中的配置如下:
<system.web>
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="SiteMap provider which reads in .sitemap XML files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="web.sitemap"/>
</providers>
</siteMap>
</system.web>
4、在页面需要网站地图的位置放入SiteMapPath控件,设置SiteMapPath的SiteMapProvider属性为config文件中的name的值:XmlSiteMapProvider
即完成网站地图的制作
--------------------编程问答-------------------- 学习。。。 --------------------编程问答-------------------- http://www.cnblogs.com/silicon-fado/archive/2008/07/11/1240543.html --------------------编程问答-------------------- 呵呵.
补充:.NET技术 , ASP.NET