c#生成站点地图(SiteMapPath)文件示例程序
c#生成站点地图(SiteMapPath)文件示例程序
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下://创建站点地图privatevoidCreateSiteMap(DataSetds){XmlDeclarationdec...

复制代码 代码如下:

//创建站点地图

private void CreateSiteMap(DataSet ds)

{

XmlDeclaration declareation;

declareation = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);

xmlDoc.AppendChild(declareation);

XmlElement xeRoot = xmlDoc.CreateElement("siteMap");

xmlDoc.AppendChild(xeRoot);

XmlElement xroot = xmlDoc.CreateElement("siteMapNode");

xroot.SetAttribute("title", "");

xroot.SetAttribute("url", "#");

xeRoot.AppendChild(xroot);

for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)

{

DataRowView row = ds.Tables[0].DefaultView[i];

string MainMenu = row["MainMenu"].ToString();

string NavigateUrl = row["NavigateUrl"].ToString();

if (MainMenu != str)

{

XmlElement siteMapNode = xmlDoc.CreateElement("siteMapNode");

siteMapNode.SetAttribute("title", MainMenu);

siteMapNode.SetAttribute("description", "");

siteMapNode.SetAttribute("url", NavigateUrl);

xroot.AppendChild(siteMapNode);

str = AddChildNode(MainMenu);

}

}

xmlDoc.Save(Server.MapPath("Web.sitemap"));

}

//添加子节点

private string AddChildNode(String text)

{

string sql = "select * from Menu Where MainMenu ='" + text + "'";

DataSql data = new DataSql();

data.DataCon();

DataSet ds = data.GetDataset(sql);

XmlNode root = xmlDoc.SelectSingleNode("/siteMap/siteMapNode/siteMapNode[@title='" + text + "']");

for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)

{

DataRowView row = ds.Tables[0].DefaultView[i];

string ChildMenu = row["ChildMenu"].ToString();

if (ChildMenu != "")

{

string NavigateUrl = row["NavigateUrl"].ToString();

XmlElement siteMapNode = xmlDoc.CreateElement("siteMapNode");

siteMapNode.SetAttribute("title", ChildMenu);

siteMapNode.SetAttribute("description", "");

siteMapNode.SetAttribute("url", NavigateUrl);

root.AppendChild(siteMapNode);

}

}

return text;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类