2010-05-05 12 views
0

J'essaie de générer un fichier XML sur ma page aspx. Mais il ne renvoie aucun résultat.Aucune sortie XML à la page

La page ASPX:

<%@ Page Language="C#" AutoEventWireup="false" CodeBehind="Sitemap.aspx.cs" 
Inherits="Servicebyen.Presentation.Web.Sitemap" %> 

Le code behinde:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Response.Clear(); 
    Response.ContentType = "text/xml"; 

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

    writer.Settings.CloseOutput = false; 
    writer.WriteStartDocument(); 
    writer.WriteStartElement("urlset"); 
    writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9"); 
    writer.WriteEndElement(); 
    writer.WriteEndDocument(); 
    writer.Flush(); 
    writer.Close(); 
    Response.End(); 
} 

Pouvez-vous voir quelque chose de mal avec cela?

+0

Pourriez-vous préciser ce que vous entendez par "aucun résultat"? Voulez-vous dire qu'il apparaît vide dans un navigateur? Avez-vous essayé d'obtenir le contenu avec un outil de ligne de commande? Que se passe-t-il si vous "visualisez la source" dans le navigateur? Êtes-vous au moins obtenir le bon en-tête de type de contenu? –

+0

Il apparaît vide dans le navigateur. Quand je regarde la source, je reçois: Que dois-je faire? user324169

Répondre

0

Si vous testez cela dans Google Chrome, vous obtiendrez une page vierge, car les fichiers XML ne sont pas affichés correctement sur les sites Web.

Une autre chose à essayer est plutôt que de l'implémenter comme une page l'implémenter comme Generic Handler. Cela évite le surcoût du cycle de vie de la page pour ASP.NET et réduit les endroits où des erreurs peuvent se produire ou des erreurs peuvent être commises.