在服务器中读取xml文件而不保存它

时间:2010-04-21 02:42:08

标签: c#

我正在asp.net上传一个xml文件。我想要做的是读取文件并将其转换为xmldoc并将其发送到一个webservice而不保存服务器中的xml文件。 可能吗? 如果是,任何人都可以帮助我使用代码。 我到目前为止编写的代码如下所示

HttpPostedFile myFile = filMyFile.PostedFile;
int nFileLen = myFile.ContentLength;
if (nFileLen > 0)
{
byte[] myData = new byte[nFileLen];
myFile.InputStream.Read(myData, 0, nFileLen);
}

2 个答案:

答案 0 :(得分:6)

您可以使用已发布文件的输入流加载它,如下所示:

XmlDocument doc = new XmlDocument();
doc.Load(myFile.InputStream);

这使用.Load(Stream) overload of XmlDocument

答案 1 :(得分:0)

使用ASP.NET的FileUpload控件<asp:FileUpload>,您可以像这样加载上传的文件。显示加载XmlDocument和XDocument。

using (MemoryStream stream = new MemoryStream(fileUpload.FileBytes))
{
    XmlDocument document = new XmlDocument();
    document.Load(stream);

    stream.Position = 0; // return to beginning for demo
    XDocument xdocument = XDocument.Load(XmlReader.Create(stream));
}