
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); } }
加載XML時始終 根級別上的數據無效。 行1,位置1
在網上找了很久都沒有結果 最后只有自己試試,Load前加了 xml=xml.Trim(); 通過了,但是xml前后都沒有空格之類的符號 奇怪的錯誤,而且加載的xml 在IE下是不報錯的。
不敢獨享 望給同樣經歷的人一點參考
以上來自:http://hi.baidu.com/xsharkx/item/d2da2935cb6995f6a88428cc
個人解決辦法:
之前使用的一個Xml文件只更改了幾個字符再加載時就出現“根級別上的數據無效。 行 1,位置 1”的問題,雖然找到了以上的解決辦法並解決了問題
但並不清楚是為什么?
看起來完全相同的字符串就一定相同嗎??
復制下面的代碼到chrome中Console中運行一下看看

1 var s='<?xml version="1.0" encoding="UTF-8"?>'; 2 var s='<?xml version="1.0" encoding="UTF-8"?>'; 3 4 alert('s.length='+s.length+'\r\n_s.length='+_s.length);
運行結果:

通過在Vs中調試發現不加Trim的字符中多了一個"."從而導致xml出錯

解決辦法:
1.在代碼中加入Trim()清除多余的字符(
推薦)
xDoc.LoadXml(xml.Trim());
2.自動清除多余的字符"."並在Xml文件中替換(此方法並不能完全避免此問題應該使用方法1) http://hi.baidu.com/xsharkx/item/d2da2935cb6995f6a88428cc http://www.cnblogs.com/XChWaad/p/3346875.html