2010-05-25 4 views
5

В ASP.NET MVC у меня есть таблица базы данных. Я хочу иметь кнопку на какой-либо странице просмотра, если какой-либо пользователь нажимает на эту кнопку, то мое приложение будет генерировать XML-файл, содержащий все строки в базе данных. Затем файл, содержащий XML, должен быть отправлен клиенту, чтобы пользователь увидел всплывающее окно загрузки.Как отправить XML-файл клиенту в ASP.NET MVC

Аналогичным образом я хочу разрешить пользователю загружать XML-файл, содержимое которого будет добавлено в базу данных.

Каков самый простой способ загрузить и загрузить файл?

Спасибо за все ответы

EDIT: Это мой подход:

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

Где модель DataContext. Насколько это не работает. Когда я пытаюсь загрузить данные, которые я получаю эту ошибку:

XML Parsing Error: junk after document element 
Location: http://localhost:1399/Xml/Download 
Line Number 7, Column 10:</Series><?xml version="1.0"?> 
---------^ 

ответ

3

для загрузки части, вы могли бы использовать FileStreamResult

This page есть примеры для загрузки и выгрузки; проверьте это.

1

Документ XML может содержать только один элемент верхнего уровня. После окончания элемента вы не сможете ничего другого. Похоже, что после элемента "</Series>" у вас есть «< ?xml version="1.0>",, который недействителен.

Смежные вопросы