/// <summary> /// Añade una colección de entradas /// </summary> internal void Add(SitemapEntriesCollection entries) { foreach (SitemapEntry entry in entries) { Add(entry); } }
/// <summary> /// Carga los archivos de un directorio /// </summary> private SitemapEntriesCollection Load(Pages.FileTargetModelCollection files) { SitemapEntriesCollection entries = new SitemapEntriesCollection(); // Añade los archivos foreach (Pages.FileTargetModel file in files) { string extension = Path.GetExtension(file.FileNameTarget); if (extension.EqualsIgnoreCase(".htm") || extension.EqualsIgnoreCase(".html")) { entries.Add(file.RelativeFullFileNameTarget, file.DateUpdate); } } // Devuelve la colección de entradas return(entries); }
/// <summary> /// Obtiene el XML de una colección de entradas /// </summary> private void Save(string urlBase, string fileName, SitemapEntriesCollection entries) { MLFile fileML = new MLFile(); MLNode nodeML = fileML.Nodes.Add("urlset"); // Añade el espacio de nombres nodeML.Attributes.Add("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9"); // Añade las entradas foreach (SitemapEntry entry in entries) { MLNode entryML = nodeML.Nodes.Add("url"); // Añade los datos del nodo entryML.Nodes.Add("loc", GetURL(entry.FileName, urlBase)); entryML.Nodes.Add("lastmod", string.Format("{0:yyyy-MM-dd}", entry.DateLastUpdate)); entryML.Nodes.Add("changefreq", entry.ChangeFrequence.ToString().ToLower()); entryML.Nodes.Add("priority", entry.Priority.ToString().Replace(',', '.')); } // Graba el archivo new XMLWriter().Save(fileName, fileML); }