我正在尝试下载一个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()
答案 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