使用XmlDocument来加载Xml文件时使用Load直接加载文件或是创建流进行加载时可以,使用File读出Xml文件内容使用LoadXml也可以正常加载,但是如果直接文件流读出后转为字符串使用LoadXml时就会抛出异常"根级别上的数据无效。 第 1 行,位置 1",这是怎么一回事儿?有人碰到过吗?(虽然开发中估计没人这么干,但还是想知道是怎么一回事)
不知您的代码是怎么样的。我给您看了下。没有这样的问题,一下仅供您参考下:
using (FileStream fs = new FileStream(Server.MapPath(@"XML\XMLFile.xml"), FileMode.Open)) using (StreamReader reader = new StreamReader(fs)) { string strXml = reader.ReadToEnd(); System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(strXml); Response.Write(xmlDoc.OuterXml); } xml文件 <?xml version="1.0" encoding="iso-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
因为不能看到您的代码,我推测您可能是使用了 xmlDoc.Load()方法或者是xml文件的格式不是标准的xml范式。
我是用FileStream读出文件流转成字符串之后进行加载,结果抛异常,这种情况有试过吗?
@魔沦殇:有试过。