如何在ASP.NET MVC中将XML文件发送到客户端

在ASP.NET MVC中,我有一个数据库表。 我希望在某个视图页面上有一个按钮,如果某个用户单击该按钮,我的应用程序将生成包含数据库中所有行的XML文件。 然后,应将包含XML的文件发送到客户端,以便用户看到下载弹出窗口。

同样,我想允许用户上传一个XML文件,其内容将被添加到数据库中。

让用户上传和下载文件的最简单方法是什么?

感谢所有的答案

编辑:这是我的方法:

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"); } 

其中model是DataContext。 但是这不起作用。 当我尝试下载数据时,我收到此错误:

 XML Parsing Error: junk after document element Location: http://localhost:1399/Xml/Download Line Number 7, Column 10: ---------^ 

对于下载部分,您可以使用FileStreamResult

此页面包含上载和下载示例; 看看这个。

XML文档只能有一个顶级元素。 在元素结束后,您将无法拥有任何其他内容。 看起来像""元素之后你有“< ?xml version=”1.0>”,这是无效的。