任何人都可以请求如何下载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文档必须具有顶级元素。处理资源时出错
谢谢,
答案 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);
}