尝试下载XML文件时出错

时间:2017-07-21 12:31:02

标签: asp.net xml vb.net download

我正在尝试下载一个XML文件,该文件已经存在于指定的路径中,我不熟悉VB和可能这段代码不对,我需要帮助就在它里面能够下载现有的xml文件,这里是代码

Protected Sub DownloadFile(ByVal sPath As String)
        Dim TargetFile As New System.IO.FileInfo(sPath)
        Response.Clear()
        Response.AddHeader("Content-Disposition", "attachment; filename=" +
            TargetFile.Name)
        Response.AddHeader("Content-Length", TargetFile.Length.ToString())
        Response.ContentType = "text/xml"
        Response.WriteFile(TargetFile.FullName)
        Response.End()
End Sub

控制台中返回错误

  

未捕获错误: Sys.WebForms.PageRequestManagerParserErrorException :无法解析从服务器收到的消息。此错误的常见原因是通过调用Response.Write(),响应过滤器,HttpModules或服务器跟踪来修改响应时。

问题

语境化

我已经序列化了一个对象并创建了一个XML文件,然后我只想下载这个文件,我的难点是下载文件。

Dim oObj1 As New System.Xml.Serialization.XmlSerializer(GetType(eSocial.Eventos.evtTabHorTur.eSocial))
Dim sFileName = Date.Now.ToString("yyyyMMddHHmmss") & ".xml"
Dim sPath = Constantes.Ambiente.CaminhoSite & "temp\" & sFileName
Dim oFile As New System.IO.StreamWriter(sPath)
oObj1.Serialize(oFile, eSocialCamposXml)
oFile.Close()

1 个答案:

答案 0 :(得分:0)

你说你下载有困难,但除了显示文件然后序列化文件外,代码中没有任何内容。您将使用“StreamReader”或类似方式来读取文件。这是一个简单的例子。假设我在文件位置上有一个xml结构,其架构如下:

<root>
    <test>Data</test>
</root>

我可以在VB.NET中写这个来获取它:

Sub Main()
  Dim xmlFile As XDocument
  Dim fileLocation = "D:\\Test Code\\Test.xml"
  Using sr = New StreamReader(fileLocation)
    xmlFile = XDocument.Parse(sr.ReadToEnd())
  End Using

  Console.WriteLine(xmlFile.Root.Element("test").Value.ToString)

  Console.ReadLine()
End Sub