XML错误: 根级别上的数据无效 行1 位置1
一个好好的xml,改动了一点内容,就出了这样的问题。
格式没有错,却除了这样的问题,莫名其妙!
百度之!
一.trim()方法
错误原因:“不加Trim的字符中多了一个"."从而导致xml出错”?。根据这里的方法:
http://www.cnblogs.com/huangtailang/p/3850522.html
public void Parse(string xml) { this.Items=new RssItemCollection(); XmlDocument xDoc=new XmlDocument(); try { //xDoc.LoadXml(xml); xDoc.LoadXml(xml.Trim()); } catch(Exception e) { throw new Exception("内容不符合标准",e); } }
但是依旧打不开文件,错误依旧。
二、改用doc.Load()方法
根据xuehuic这里的方法
XmlDocument doc = new XmlDocument(); doc.LoadXML("Config.XML");
把loadXML函数改成load()函数就可以解决了。两个的用法有区别:
LoadXml (): 该方法从字符串中读取 XML。
如 LoadXml("<book><title>C#</title></book>");
Load (): 方法将文档置入内存中并包含可用于从每个不同的格式中获取数据的重载方法。
如 Load(文件)
连接:http://blog.csdn.net/xuehuic/article/details/6020202
测试结果:成功,解决问题。
三、疑惑?
之前一直使用的xDoc.LoadXml(文件地址)方法,为何能正常使用呢?
似乎不是说不能加载xml文件的,只是改动内容后无法加载了。
版权声明:本博原创文章可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途。如需转载,请在转载时声明作者、保留出处。本人保留对本文的一切权利。
作者:AllenRobin Blog:http://gisrsman.cnblogs.com