Jag har testat med nedan kod. Den fungerar när jag sparar den som en fil på hårddisken. Men problemet är att XML-posterna blandas och att "<?xml version="1.0" standalone="yes"?>" saknas när jag streamar ut filen till användaren. Vad är fel? Finns det andra sätt? Menar du att det saknas "response.flush" ? Varför skriva till en membuffer? Det är onödigt slöseri med minne. Skriv direkt till OutputStream i stället.Streama XML-fil direkt till användaren
<code>
Dim Stream As New MemoryStream
myDataSet ...... osv.
' Spara ned DataSetet som Xml
myDataSet.WriteXml(Stream)
Response.ContentType = "Application/xml"
Response.AddHeader("Content-Disposition", "attachment; filename=" & filnamn)
Response.OutputStream.Write(Stream.GetBuffer(), 0, Stream.GetBuffer().Length)
Response.End()
Stream.Close()
</code>Sv:Streama XML-fil direkt till användaren
text/plain rättar till huller om buller skrivningen. Men "<?xml version="1.0" standalone="yes"?>" saknas.
<code>
Response.ContentType = "text/plain"
</code>Sv: Streama XML-fil direkt till användaren
Och innan du börjar skriva, så skriver du helt sonika ut xml-deklarationen som en textsträng.