Frage

Ich bin mit einem Ashx meine Webseiten für Google Sitemap zu liefern. Es ist alles perfekt, bis ich vor kurzem gearbeitet.

Wenn Sie die Sitemap in Google anfordernden unter http://www.naughtyfancydress.com/sitemap.ashx erhalte ich: XML-Parsing-Fehler: nicht wohlgeformt Ort: http://naughtyfancydress.com/sitemap.ashx Zeilennummer 1, Spalte 1: `I% & / m {J

Mein abgespeckte Code in dem Ashx sieht aus wie:

context.Response.ClearHeaders();
context.Response.ClearContent();
context.Response.ContentType = "text/xml";
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.Cache.SetExpires(DateTime.Now.AddSeconds(3600));
context.Response.Cache.SetCacheability(HttpCacheability.Public);

var writer = new XmlTextWriter(context.Response.OutputStream, Encoding.UTF8);
writer.Formatting = Formatting.Indented;

writer.WriteStartDocument();
writer.WriteStartElement("urlset");
writer.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
writer.WriteAttributeString("xsi:schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd");
writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");

writer.WriteStartElement("url");
writer.WriteElementString("loc", "http://www.naughtyfancydress.com/");
writer.WriteElementString("changefreq", "daily");
writer.WriteElementString("priority", "1.0");
writer.WriteEndElement();

writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
writer.Close();

Alle Ideen, wie zu lösen wäre zu begrüßen.

EDIT:. Wenn Sie auf den Link in Chrome nichts überprüfen wird angezeigt, ich glaube, das ist ein Chrome-Thema ist, überprüfen Sie bitte den Link mit FireFox

War es hilfreich?

Lösung

For anyone else, the issue was that in the Global.asax, in the Application_PreRequestHandlerExecute method I was gzip'in my content.

This obviously changes the content encoding to gzip from utf-8 even though it was specified above. That's the fix, ensure the sitemap handler doesn't send content as gzip.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top