diff --git a/src/FrontOffice.Main/Utilities/Seo/SitemapGenerator.cs b/src/FrontOffice.Main/Utilities/Seo/SitemapGenerator.cs index e65e3c0..1739f2b 100644 --- a/src/FrontOffice.Main/Utilities/Seo/SitemapGenerator.cs +++ b/src/FrontOffice.Main/Utilities/Seo/SitemapGenerator.cs @@ -1,4 +1,5 @@ using System.Text; +using System.Xml; using System.Xml.Linq; using Microsoft.Extensions.Options; @@ -71,16 +72,23 @@ public class SitemapGenerator } var document = new XDocument( - new XDeclaration("1.0", "UTF-8", null), + new XDeclaration("1.0", "utf-8", null), new XElement(ns + "urlset", urls)); - var builder = new StringBuilder(); - using (var writer = new StringWriter(builder)) + var settings = new XmlWriterSettings + { + Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), + Indent = true, + OmitXmlDeclaration = false + }; + + using var stream = new MemoryStream(); + using (var writer = XmlWriter.Create(stream, settings)) { document.Save(writer); } - return builder.ToString(); + return Encoding.UTF8.GetString(stream.ToArray()); } private static XElement CreateUrlElement(