Пример #1
0
 static XElement Serialize(SitemapIndexEntry sitemap)
 {
     return new XElement("sitemap",
         new XElement("loc", sitemap.Loc),
         new XElement("lastmod", sitemap.Lastmod.ToString("yyyy-MM-dd"))
     );
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }