6

重複の可能性:
C# を使用して asp.net で xml ファイルをダウンロードする方法

誰でもxml(文字列)をダウンロードする方法を教えてください。私はMVC3を使用しています

マイコード;

 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 ドキュメントには最上位の要素が必要です。リソースの処理中にエラーが発生しました

ありがとう、

4

1 に答える 1

10

ここでは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);
}
于 2012-08-08T11:22:20.157 に答える