XML文件上传与读取

在现代网络应用中,数据的交换和处理是常见的需求。XML(可扩展标记语言)因其结构化和自描述的特性,被广泛用于数据交换。本文将介绍如何使用C#语言和ASP.NET框架来实现XML文件的上传和读取操作。

XML文件上传

上传XML文件到服务器是一个常见的操作,可以通过HTTP POST请求实现。以下是使用C#编写的代码示例,展示了如何将本地的XML文件上传到指定的Web服务器地址。

首先,需要创建一个WebRequest对象,指定要上传文件的服务器地址。然后,设置请求方法为POST,并设置内容类型为text/xml。接下来,使用StreamWriter将XML文件内容写入请求流中。最后,发送请求并获取响应。

try { string fileName = @"C:\test.xml"; string uri = "http://localhost/PostXml/Default.aspx"; WebRequest req = WebRequest.Create(uri); req.Proxy = WebProxy.GetDefaultProxy(); // 如果使用代理,则启用 req.Method = "POST"; req.ContentType = "text/xml"; StreamWriter writer = new StreamWriter(req.GetRequestStream()); writer.WriteLine(GetTextFromXMLFile(fileName)); writer.Close(); WebResponse rsp = req.GetResponse(); } catch (WebException webEx) { // 处理Web异常 } catch (Exception ex) { // 处理其他异常 } finally { if (req != null) req.GetRequestStream().Close(); if (rsp != null) rsp.GetResponseStream().Close(); }

在上述代码中,GetTextFromXMLFile函数用于从指定的文件路径读取XML内容。

private string GetTextFromXMLFile(string file) { StreamReader reader = new StreamReader(file); string ret = reader.ReadToEnd(); reader.Close(); return ret; }

这个函数使用StreamReader类读取文件内容,并将其作为字符串返回。

读取上传的XML数据

在服务器端,需要处理上传的XML数据。以下是ASP.NET页面的代码示例,展示了如何在服务器端读取通过HTTP POST请求上传的XML数据。

private void Page_Load(object sender, EventArgs e) { page.Response.ContentType = "text/xml"; StreamReader reader = new StreamReader(page.Request.InputStream); String xmlData = reader.ReadToEnd(); }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485