How to send XML file to client in ASP.NET MVC


How to send XML file to client in ASP.NET MVC



In an ASP.NET MVC I have a database table. I want to have a button on some view page, if some user clicks that button I my application will generate XML file containing all rows in the database. Then the file containing XML should be sent to the client so that the user will see a download pop-up window.

Similarly I want to allow user to upload an XML file whose content will be added to the database.

What's the simplest way to let the user upload and download file ?

Thanks for all the answers

EDIT: This is my approach:

public FileContentResult Download() {         if(model.Series.Count() < 1) {             byte[] content = new byte[0];             return new FileContentResult(content, "Series");         }         XmlSerializer serializer = new XmlSerializer(model.Series.FirstOrDefault().GetType());          MemoryStream xmlStream = new MemoryStream();         foreach (Series s in model.Series) {             serializer.Serialize(xmlStream, s);         }          byte[] content2 = new byte[xmlStream.Length];         xmlStream.Position = 0;         xmlStream.Read(content2, 0, (int) xmlStream.Length);          return File(content2, "Series"); } 

Where model is DataContext. Howewer this does not work. When I try to download the data I get this error:

XML Parsing Error: junk after document element Location: http://localhost:1399/Xml/Download Line Number 7, Column 10:</Series><?xml version="1.0"?> ---------^ 

can hidden variables value be accessed in a controller in MVC

1:

var javascript to asp.net MVC modelForms Authentication & IIS7 (&MVC): Why ReturnUrl=/ is added?Can i access ValidationMessage through jquery in asp.net mvc

2:

Internet Explorer Nested Form Post
An XML document must only have one top level element. jQuery DateTime pickerAfter the end of the element, you cannot have anything else. It looks like after the "</Series>" element you have "<?xml version="1.0>", which is invalid..


92 out of 100 based on 37 user ratings 352 reviews

^