读XML文件时出错,System.Xml.XmlException: 给定编码中的字符无效。给定编码中的字符无效。 行 4,位置 6。

lixianrong890611 2011-11-03 10:52:12
XML文件格式
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table1>
<安装地点>1121工作面隅角一氧</安装地点>
<作业区域 />
<测点类型>一氧化碳</测点类型>
<测点数据类型>模拟量</测点数据类型>
<值>一氧化碳:0ppm</值>
<报警状态 />
<报警开始时间 />
<故障状态 />
<故障开始时间 />
<时间>2011/11/2 17:04:39</时间>
<测点名称>SafeNet:邢东矿.002A01</测点名称>
<工程单位>ppm</工程单位>
<高量程>500</高量程>
<低量程>0</低量程>
<上上限>0</上上限>
<上限>24</上限>
<下限>0</下限>
<下下限>0</下下限>
<传感器类型>一氧化碳</传感器类型>
</Table1>
</NewDataSet>
...全文
2372 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
蝶恋花雨 2011-11-03
  • 打赏
  • 举报
回复
<?xml version="1.0" standalone="yes"?>错了 改成<?xml version="1.0" encoding="UTF-8"?>

XML 文档可以包含非 ASCII 字符,比如法语。

为了避免错误,需要规定 XML 编码,或者将 XML 文档存为 Unicode。

Windows 记事本
Windows 记事本默认会将文件保存为单字节的 ANSI (ASCII)。

如果选取文件菜单中的“另存为”命令,就可以规定双字节 Unicode (UTF-16)。

将下面的 XML 文件保存为 Unicode (注意文档不包含任何 encoding 属性):

<?xml version="1.0"?>
<note>
<from>John</from>
<to>George</to>
<message>French: êèé</message>
</note>上面的文件,note_encode_none_u.xml 不会出错。但是如果规定了单字节编码就会出错。

下面的编码(打开它),不会报错:

<?xml version="1.0" encoding="windows-1252"?>下面的编码(打开它),不会报错:

<?xml version="1.0" encoding="ISO-8859-1"?>下面的编码(打开它),不会报错:

<?xml version="1.0" encoding="UTF-8"?>下面的编码(打开它),不会报错:

<?xml version="1.0" encoding="UTF-16"?>错误消息
如果您试图向 IE 中载入 XML 文档,可能会得到两种指示编码问题的错误:

在文本内容中发现非法字符
如果 XML 文档中的某个字符与编码属性不匹配,您就会得到这个错误消息。通常,当 XML 文件中含有外国字符,且当文件使用类似记事本的单字节编码编辑器保存,以及没有指定编码属性时,您就会得到这个错误消息。

将当前编码切换为不被支持的指定编码
如果您的文件被保存为 Unicode/UTF-16,但是编码属性被指定为单字节编码(比如 Windows-1252、ISO-8859-1 或者 UTF-8)时,那么您就会得到这个错误消息。或者当您的文档被保存为单字节编码,但编码属性被指定为双字节编码(比如 UTF-16)时,也会得到这个错误消息。

结论
结论是:编码属性应当被指定为文档被保存时所使用的编码。我最好的避免错误的建议是:

•使用支持编码的编辑器
•确定编辑器使用的编码
•在您的 XML 文档中使用相同的编码属性

黄亮 2011-11-03
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8" ?>

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧