C# · 12月 25, 2021

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

复制代码 代码如下:@H_404_5@
//创建站点地图
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”,NavigateUrl);
root.AppendChild(siteMapNode);
}
}
return text;
}