2012-06-29 5 views
0

У меня есть требование сохранить XML-документ, который отображается на странице HTML.Как сохранить xml-файл с html-страницы

Сценарий выглядит следующим образом: я отправляю запрос поиска на сервер, и взамен я получаю файл xml, но отображается на странице html. Я хочу сохранить на стороне клиента XML-файл, отображаемый внутри html-формы, используя javascript, asp.net (C#).

Пожалуйста, смотрите эту ссылку (обратный сервер файл, как это) http://www.w3schools.com/dom/books.xml

+0

Необходимо подтвердить, что вам нужно сохранить файл XML на стороне клиента - где клиент обращается к вашему приложению из браузера. Не рекомендуется зависеть от доступа файловой системы из браузера. Предполагается, что среда браузера представляет собой изолированную среду, защищая ресурсы ОС от потенциальных угроз. В зависимости от уровня безопасности браузеры могут не разрешить сохранение файла через javascript. –

+0

Если я получу вас правильно, содержимое xml находится внутри элемента

, не так ли? –

ответ

0

Отправленное файл должен иметь заголовок HTTP, указывающий, что это означало, чтобы спастись, не показано. ли это так:

context.Response.ContentType = "application/force-download"; 
0

Предполагая, что вы пишете приложение клиента, чтобы потреблять этот файл,

using System.Net; 
new WebClient().DownloadFile("http://www.w3schools.com/dom/books.xml", @"c:\books.xml"); 
0

Как Rutesh сказал, что вы не можете пойти с JavaScript. Сохраните его на сервере с C# .NET, а затем получите доступ к нему с сервера. Во-вторых, страница, о которой вы говорите, не является html-страницей, ее xml-файлом. Надеюсь, вы знаете, как построить страницу asp.net, если да, то используйте это:

XmlDocument xdoc = new XmlDocument(); 
    xdoc.Load("http://www.w3schools.com/dom/books.xml"); 
    xdoc.Save("myfilename.xml"); 

Счастливое кодирование!

+0

yes Ashwin singh Я знаю, как построить страницу asp.net и страницу, о которой я говорю, это xml [по просмотру источника], но просто для того, чтобы уточнить, я использовал html-страницу. – user1012461

+0

Я имел в виду не обиду .... :) –

0
sourceResponse.ContentType = "application/octet-stream"; 
byte[] responseContent = "XML File content" 
sourceResponse.AddHeader("content-disposition", String.Format("attachment; filename={0}.xml", "yourFileName")); 
sourceResponse.BinaryWrite(responseContent); 
sourceResponse.End(); 
+0

Можете ли вы дать ОП немного больше контекста о том, куда это должно идти? – StormeHawke

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