public static string GetSitemapFileName(long siteID) { Models.SitesModels SitesInfo = Models.DataAccess.SitesDAO.GetInfo(siteID); string xmlName = string.Format("sitemap_{0}.xml", SitesInfo.SN); return(xmlName); }
public static string CreateSitemap(long siteID, string serverRootPath) { try { var SiteList = Models.DataAccess.SitesDAO.GetDatas(); Models.SitesModels SitesInfo = Models.DataAccess.SitesDAO.GetInfo(siteID); string applicationPath = "/" + HttpContext.Current.Request.ApplicationPath.Trim('/').Trim('/'); string siteUrlRoot = GetItem.appSet("WebUrl").ToString() + applicationPath + "/w/" + SitesInfo.SN; string xmlName = GetSitemapFileName(siteID); System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument(); System.Xml.XmlDeclaration xmldec = xmldoc.CreateXmlDeclaration("1.0", "UTF-8", ""); xmldoc.AppendChild(xmldec); System.Xml.XmlElement root = xmldoc.CreateElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9"); var menuList = Areas.Backend.Models.DataAccess.StatisticConditionDAO.GetMenuORPages(siteID, null); if (menuList != null && menuList.Count() > 0) { CreateNode(siteUrlRoot, siteID, xmldoc, ref root, menuList.ToList()); } //List<Models.MenusModels> Menus = Models.DataAccess.MenusDAO.GetFrontMenus(siteID); //var MenuU = Menus.Where(dr => dr.AreaID == 1).ToList(); //CreateMenu(siteUrlRoot, xmldoc, ref root, MenuU, MenuU.Where(m => m.ParentID == 0)); //var MenuM = Menus.Where(dr => dr.AreaID == 2).ToList(); //CreateMenu(siteUrlRoot, xmldoc, ref root, MenuM, MenuM.Where(m => m.ParentID == 0)); xmldoc.AppendChild(root); xmldoc.Save(string.Format("{0}\\{1}", serverRootPath, xmlName)); if (siteID == 1) { xmldoc.Save(string.Format("{0}\\sitemap.xml", serverRootPath)); } return(xmlName); } catch (Exception ex) { return(""); } }