根級別上的數據無效。 行 1,位置 1


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);
}
}
View Code

加載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);
View Code
運行結果:
 
通過在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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM