0

我需要保存显示在 HTML 页面中的 XML 文档。

场景是这样的:我正在向服务器发送搜索请求,作为回报,我得到了 xml 文件,但显示在 html 页面中。我想要的是使用javascript,asp.net(C#)将显示在html表单中的xml文件保存在客户端。

请看这个链接(像这样的服务器返回文件) http://www.w3schools.com/dom/books.xml

4

5 回答 5

0

您需要将请求中的流保存到 xmldoc 中。应该非常直截了当。

看看这里: http: //msdn.microsoft.com/en-us/library/system.xml.xmldocument.save (v=vs.100).aspx

另外,这里有一篇关于它的微软文章:

http://support.microsoft.com/kb/307643

于 2012-06-29T10:44:58.540 回答
0

发送的文件应该有一个 HTTP 标头,表明它是要保存的,未显示。这样做:

context.Response.ContentType = "application/force-download";
于 2012-06-29T10:48:25.307 回答
0

假设您正在编写一个客户端应用程序来使用此文件

using System.Net;
new WebClient().DownloadFile("http://www.w3schools.com/dom/books.xml", @"c:\books.xml");
于 2012-06-29T10:48:58.243 回答
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");

快乐编码!

于 2012-06-29T10:50:12.657 回答
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();
于 2013-09-09T17:14:23.760 回答