如何在xml文件中下载xml内容

时间:2012-08-08 11:08:58

标签: xml asp.net-mvc-3 c#-4.0

  

可能重复:
  How to download xml file in asp.net using C#

任何人都可以请求如何下载xml(在字符串中)。我正在使用MVC3

mycode的;

 public FileResult Download(string id)
    {  
        var model = service.GetAllDefinitions().First(x => x.ID == id);
        var definitionDetails = new StatisticDefinitionModel(model);
        string xmlString = definitionDetails.ToXml;
     //string presented xml  

        string fileName = definitionDetails.Name + ".xml";

            var stream = new MemoryStream();

            var writer = XmlWriter.Create(stream);
            writer.WriteRaw(xmlString);
            stream.Position = 0;
            var fileStreamResult = File(stream, "application/xml", fileName);
            return fileStreamResult; 

    }

但这不起作用。发生错误

错误:

XML文档必须具有顶级元素。处理资源时出错

谢谢,

1 个答案:

答案 0 :(得分:9)

这里不需要xml流,只返回字节。

public FileResult Download(string id)
{  
    var model = service.GetAllDefinitions().First(x => x.ID == id);
    var definitionDetails = new StatisticDefinitionModel(model);
    string xmlString = definitionDetails.ToXml;
    string fileName = definitionDetails.Name + ".xml";


    return File(Encoding.UTF8.GetBytes(xmlString), "application/xml", fileName);
}