C# DataTable转换为存储在内存中的XML文件,并允许用户下载XML

C# DataTable转换为存储在内存中的XML文件,并允许用户下载XML,c#,xml,model-view-controller,download,C#,Xml,Model View Controller,Download,我试图获取一个已解析CSV的数据表,并将其转换为一个XML文件,用户可以从我的web应用程序下载。到目前为止,我找到的所有解决方案都要求我首先将XML文件写入本地驱动器,然后指定用户从中下载的文件路径 我想做的是在我的控制器中创建该文件,然后将输出XML文件下载给用户,而无需将其写入驱动器 我的控制器中的代码读作 public ActionResult DownloadXML(string url) { GetCSVFile newFile = new GetCSVFile();

我试图获取一个已解析CSV的数据表,并将其转换为一个XML文件,用户可以从我的web应用程序下载。到目前为止,我找到的所有解决方案都要求我首先将XML文件写入本地驱动器,然后指定用户从中下载的文件路径

我想做的是在我的控制器中创建该文件,然后将输出XML文件下载给用户,而无需将其写入驱动器

我的控制器中的代码读作

public ActionResult DownloadXML(string url) {
    GetCSVFile newFile = new GetCSVFile();
    DataTable dt = newFile.GetCSV(url); //Gets the remote CSV and parses the data into a DataTable
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);
    ds.WriteXml("myXMLFile.xml");
    return View();
}

我也不确定用什么来代替ActionResult。我已经查看了FileResult和FileStreamResult,但它们似乎都没有达到我想要的效果。任何帮助都将不胜感激

您必须首先在内存(而不是本地驱动器)中创建文件,然后在“使用”它之后将其删除;数据集ds=新数据集();ds.WriteXml(流);流位置=0;