1 //创建站点地图
2 private void CreateSiteMap(DataSet ds)
3 {
4
5 XmlDeclaration declareation;
6 declareation = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
7 xmlDoc.AppendChild(declareation);
8
9 XmlElement xeRoot = xmlDoc.CreateElement("siteMap");
10 xmlDoc.AppendChild(xeRoot);
11
12 XmlElement xroot = xmlDoc.CreateElement("siteMapNode");
13 xroot.SetAttribute("title", "");
14 xroot.SetAttribute("url", "#");
15 xeRoot.AppendChild(xroot);
16
17 for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
18 {
19 DataRowView row = ds.Tables[0].DefaultView[i];
20
21 string MainMenu = row["MainMenu"].ToString();
22 string NavigateUrl = row["NavigateUrl"].ToString();
23 if (MainMenu != str)
24 {
25 XmlElement siteMapNode = xmlDoc.CreateElement("siteMapNode");
26 siteMapNode.SetAttribute("title", MainMenu);
27 siteMapNode.SetAttribute("description", "");
28 siteMapNode.SetAttribute("url", NavigateUrl);
29 xroot.AppendChild(siteMapNode);
30 str = AddChildNode(MainMenu);
31 }
32 }
33 xmlDoc.Save(Server.MapPath("\Web.sitemap"));
34 }
35
36 //添加子节点
37 private string AddChildNode(String text)
38 {
39 string sql = "select * from Menu Where MainMenu ='" + text + "'";
40 DataSql data = new DataSql();
41 data.DataCon();
42 DataSet ds = data.GetDataset(sql);
43 XmlNode root = xmlDoc.SelectSingleNode("/siteMap/siteMapNode/siteMapNode[@title='" + text + "']");
44 for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
45 {
46 DataRowView row = ds.Tables[0].DefaultView[i];
47
48 string ChildMenu = row["ChildMenu"].ToString();
49 if (ChildMenu != "")
50 {
51 string NavigateUrl = row["NavigateUrl"].ToString();
52
53 XmlElement siteMapNode = xmlDoc.CreateElement("siteMapNode");
54 siteMapNode.SetAttribute("title", ChildMenu);
55 siteMapNode.SetAttribute("description", "");
56 siteMapNode.SetAttribute("url", NavigateUrl);
57 root.AppendChild(siteMapNode);
58 }
59 }
60 return text;
61 }