Avatar billede dr_nielsen Nybegynder
20. november 2010 - 11:31 Der er 1 kommentar og
1 løsning

xml document i ashx

Hej

Jeg forsøger at få en ashx til at "give" mig et xml document som output.

Hvis jeg skrive xml som txt direkte til Response stream, virker det fint, men i dette tilfælde har jeg et XMLDocument til rådighed.

Problemet er at dokumentet skrives som text til browseren. kildekoden i browser viser xml som den er, men jeg ville gerne have browseren til at genkende formatet også

public void ProcessRequest(HttpContext context)
{
    context.Response.Clear();
    context.Response.ContentType = "text/xml";
    context.Response.StatusCode = 200;

    XmlExporter exporter = new XmlExporter(Company.Find(1));
    XmlDocument xmlDoc = exporter.ExportBase(); //valid Xml document
   
    XmlTextWriter writer = new XmlTextWriter(context.Response.OutputStream, context.Request.ContentEncoding);
    xmlDoc.WriteTo(writer);
    //xmlDoc.Save(writer); har også prøvet denne
    writer.Flush();
    writer.Close();
}


any ideas?
Avatar billede dr_nielsen Nybegynder
20. november 2010 - 12:28 #1
hmm løsningen var vist ret enkel

context.Response.Clear();
        context.Response.ContentType = "text/xml";
        context.Response.StatusCode = 200;
        context.Response.ContentType = "application/octet-stream";

        XmlExporter exporter = new XmlExporter(Company.Find(1));
        XmlDocument xmlDoc = exporter.ExportBaseAndJournals();
        context.Response.Write(xmlDoc.InnerXml);
Avatar billede arne_v Ekspert
21. november 2010 - 02:47 #2
context.Response.ContentType = "text/xml";
        context.Response.StatusCode = 200;
        context.Response.AddHeader("Content-Disposition", "attachment;filename=foobar.xml");

virker mere tiltalende på mig!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester