操作XML 报错:根级别上的数据无效 和 给定编码中的字符无效 解决办法
2016-12-16 16:26
495 查看
根级别上的数据无效,解决如下:
private void button1_Click(object sender, EventArgs e)
{
try
{
XmlDocument doc = new XmlDocument();
string file = @"D:/Books.xml";
file = file.Trim();
doc.LoadXml(file);
}
catch (XmlException ex)
{
MessageBox.Show(ex.Message + "/r/n" + ex.StackTrace);
}
}
前提是经过很检验,XML文件是合格并有效的。可一运行就就会出现“根级别上的数据无效”的错误,很久没弄明白,网上搜了一下,发现遇到这问题的还真不少。有的网友说LoadXml之前加上file = file.Trim();就解决了,试了还是不行。于是改用Load()方法,问题解决。再查Msdn,原来两个方法的用法不同。
LoadXml (): 该方法从字符串中读取 XML。 LoadXml("<book><title>C#</title></book>");
Load (): 方法将文档置入内存中并包含可用于从每个不同的格式中获取数据的重载方法。Load(文件)
(可能因为这两件方法都有一个参数为string的重载吧,于是理所当然的以后这两个方法混用了)。
希望为同样错误困扰的网友有点点帮助,也让自己牢记。
转自:http://blog.csdn.net/hdzdw/article/details/3152807)
给定编码中的字符无效,解决如下:
private void button1_Click(object sender, EventArgs e)
{
try
{
XmlDocument doc = new XmlDocument();
string file = @"D:/Books.xml";
file = file.Trim();
doc.LoadXml(file);
}
catch (XmlException ex)
{
MessageBox.Show(ex.Message + "/r/n" + ex.StackTrace);
}
}
前提是经过很检验,XML文件是合格并有效的。可一运行就就会出现“根级别上的数据无效”的错误,很久没弄明白,网上搜了一下,发现遇到这问题的还真不少。有的网友说LoadXml之前加上file = file.Trim();就解决了,试了还是不行。于是改用Load()方法,问题解决。再查Msdn,原来两个方法的用法不同。
LoadXml (): 该方法从字符串中读取 XML。 LoadXml("<book><title>C#</title></book>");
Load (): 方法将文档置入内存中并包含可用于从每个不同的格式中获取数据的重载方法。Load(文件)
(可能因为这两件方法都有一个参数为string的重载吧,于是理所当然的以后这两个方法混用了)。
希望为同样错误困扰的网友有点点帮助,也让自己牢记。
转自:http://blog.csdn.net/hdzdw/article/details/3152807)
给定编码中的字符无效,解决如下:
我是直接新建txt文件然后把内容贴进去,保存后直接改文件名和后缀名,txt文件的编码是ANSI。所以如果想改正的话,也简单:用记事本打开文件,文件---->另存为---->对话框:编码---->utf-8。OK了!
相关文章推荐
- 操作XML 报错:根级别上的数据无效 和 给定编码中的字符无效
- vs上出现"未能加载项目文件,根级别上的数据无效.Microsoft.WinFx.targets"的解决办法
- .XamlReader.Load()解决给定编码中的字符无效与无法创建未知类型
- System.Xml.XmlException: 给定编码中的字符无效。 第 XX 行,位置 YY。
- xmlHttpRequest 以Post方式发数据到Asp.net页,在gb2312编码下的解决办法
- 获取xml时,出现“(十六进制值 0x1F)是无效的字符之类Xml异常的解决办法
- System.Xml.XmlException: 给定编码中的字符无效。 第 XX 行,位置 YY。
- 获取xml时,出现“(十六进制值 0x1F)是无效的字符之类Xml异常的解决办法
- 反序列化 报错:根级别上的数据无效?解决办法
- xmlHttpRequest 以Post方式发数据到Asp.net页,在gb2312编码下的解决办法
- php oci8.dll 插入数据到oracle数据库 php操作oracle数据库 亲测 ORA-00911 无效字符错误解决方法
- 解决 vs 出现Error MC3000 给定编码中的字符无效
- XmlDocument.Load XML文件时出现“给定的编码字符无效”异常
- 解决XML 根级别上的数据无效。
- 使用LinqDataSource出现“找不到与ViewState中存储的原始值中的给定键相匹配的行,请确保"keys"字典包含与上一个Select操作返回的行对应的唯一键值”错误的解决办法
- 解决Oracle透明网关连接SQL server进行数据操作出现“列名无效”问题
- 线程间操作无效: 从不是创建控件的线程访问它 解决办法
- 根级别上的数据无效 行1 位置1 问题解决参考
- 根级别上的数据无效 解决了!
- 【数据操作】安装SQLServer2008问题解决办法