首页 > 其他 > 详细

根级别上的数据无效。 行 1,位置 1

时间:2014-07-18 19:22:13      阅读:504      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
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中运行一下看看

bubuko.com,布布扣
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
运行结果:
bubuko.com,布布扣
 
通过在Vs中调试发现不加Trim的字符中多了一个"."从而导致xml出错
bubuko.com,布布扣
解决办法:
1.在代码中加入Trim()清除多余的字符(推荐
 
xDoc.LoadXml(xml.Trim());
 
2.自动清除多余的字符"."并在Xml文件中替换(此方法并不能完全避免此问题应该使用方法1) http://hi.baidu.com/xsharkx/item/d2da2935cb6995f6a88428cc http://www.cnblogs.com/XChWaad/p/3346875.html

根级别上的数据无效。 行 1,位置 1,布布扣,bubuko.com

根级别上的数据无效。 行 1,位置 1

原文:http://www.cnblogs.com/huangtailang/p/3850522.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!