c#生成站点地图(SiteMapPath)文件示例程序

时间:2021-05-20

复制代码 代码如下:
//创建站点地图
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;
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章