System.Xml.XmlException: 根级别上的数据无效

使用Asp.net C#时.出现以下问题
在以下代码中,运行进会抛出 [ System.Xml.XmlException: 根级别上的数据无效。] 的异常,问题

MemoryStream stream = new MemoryStream();
XmlWriter w = XmlTextWriter.Create(stream);

w.WriteStartDocument();
w.WriteElementString("abc","test");
w.WriteEndDocument();

w.Flush();
w.Close();

string xml = Encoding.UTF8.GetString(stream.ToArray());

XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(xml);

经过仔细调试发现问题出现在. UTF8或者Unicode编码转换时,第一个字符转换会出现一个?号。
所以,为避免异常。还应加上。

xml = xml.Substring(1, xml.Length - 1);

然后再 LoadXml(xml) 就不会出错了。

posted @ 2011-06-04 08:26  凌点  阅读(3424)  评论(2编辑  收藏  举报