static XElement Serialize(SitemapIndexEntry sitemap) { return new XElement("sitemap", new XElement("loc", sitemap.Loc), new XElement("lastmod", sitemap.Lastmod.ToString("yyyy-MM-dd")) ); }
private SitemapIndexEntry ParseSitemapIndex(XElement sitemapNode) { var result = new SitemapIndexEntry(); foreach (var urlDetail in sitemapNode.Elements()) { var nodeName = urlDetail.Name.LocalName; var nodeValue = urlDetail.Value; if (nodeName.Equals("loc", StringComparison.InvariantCultureIgnoreCase)) { if (Uri.TryCreate(nodeValue, UriKind.Absolute, out var tmpUri)) { result.Location = tmpUri; } } else if (nodeName.Equals("lastmod", StringComparison.InvariantCultureIgnoreCase)) { if (DateTime.TryParse(nodeValue, CultureInfo.InvariantCulture, DateTimeStyles.None, out var tmpLastModified)) { result.LastModified = tmpLastModified; } } } return(result); }
private XElement ToSitemapElement(SitemapIndexEntry entry) { var sitemapElement = new XElement(Namespace + "sitemap", new XElement(Namespace + "loc", mUrlHelper.MakeAbsolute(entry.Url))); if (entry.LastModifiedUtc != null) { sitemapElement.Add(new XElement(Namespace + "lastmod", entry.LastModifiedUtc.Value.ToString("o", CultureInfo.InvariantCulture))); } return(sitemapElement); }