从String中提取XML数据

时间:2014-01-21 12:41:51

标签: c# ajax xml json

我有一个上传文件时生成的输入流(XML Type)。我需要代码背后的XML数据。我使用

在字符串中获取xml数据
 StreamReader stream = new StreamReader(Request.InputStream);
 string x = stream.ReadToEnd();

它还包含字符串

开头的以下数据
------WebKitFormBoundary8na5dBbHc4ydfxVU
Content-Disposition: form-data; name="MyFile"; filename="Test 123.vfc"
Content-Type: application/octet-stream

在字符串的末尾

------WebKitFormBoundary8na5dBbHc4ydfxVU--

我不需要这些数据。请帮助我获取正确的XML字符串。

1 个答案:

答案 0 :(得分:0)

首先,您可以删除字符串中的前三行和最后一行。

int n = 3;
string[] lines = str.Split(Environment.NewLine.ToCharArray()).Skip(n).ToArray();
string output = string.Join(Environment.NewLine, lines);
output = output.Remove(str.LastIndexOf(Environment.NewLine));

如果您没有根节点,请在XML字符串中添加,如下所示。

   string xmlTxt  = "<ROOT>" + xmlString + "</ROOT>";

如果你有一个根节点跳过上面。对于格式良好的XML字符串,您可以使用下面的代码

   XmlDocument xmlDocument = new XmlDocument();
   xmlDocument.InnerXml = xmlTxt;