首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.XML与编码故障

System.XML与编码故障
EN

Stack Overflow用户
提问于 2013-08-14 12:05:37
回答 1查看 1.9K关注 0票数 0

我有一个应用程序,用于在现有的例子中创建XML文档。但这不是重点。今天,我注意到,如果打开的文件编码是ANSI,则会出现错误。在此之前,我使用的是UTF-8文件,并且不会出现这个问题。你应该怎么做,怎么做?

代码片段:

代码语言:javascript
复制
string filepath;
XmlDocument xdoc = new XmlDocument();
XmlElement root;
...............
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    filepath = openFileDialog1.FileName;
    textBox1.Text = filepath;
    load();
}
...............
public void load()
{
    xdoc.Load(filepath);
    root = xdoc.DocumentElement;
...............

错误:

“System.Xml.XmlException”类型的未处理异常出现在System.Xml.dll附加信息中:指定编码的无效字符。第35行,位置16。

这一行是西里尔语符号(俄语)。但是,如果我通过NotePad++将这个文档转换为UTF-8,它将正确加载。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-14 12:13:55

您可以使用StreamReader以正确的编码读取文件,然后将该流加载到接受流的XmlDocument过载中。

代码语言:javascript
复制
using(var sr = new StreamReader(filepath, myEncoding))
{
   xdoc.Load(sr);
}

您可以通过myEncoding方法获得GetEncoding

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18231298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档