如何在Encoding utf-8中读取XML文件

时间:2012-03-28 15:13:45

标签: c# xml

我正在尝试读取一个包含一些中文字符的XML文件。在文件中写入信息时,UTF-8编码正常,中文字符正确写入文件。但是,当我尝试阅读它时,它显示了一些?????代替。

我只是想知道是否有人已经遇到过这个问题并且可以给我一些线索。

1 个答案:

答案 0 :(得分:6)

首先,请确保数据在UTF8中实际可读,您的方法是:

  • 下载记事本,该记事本可让您指定用于查看文档的编码,如Notepad2
  • 在Notepad2中打开文档
  • 文件 - >编码 - > UTF8

如果你看到相同的乱码文本,你实际上并没有创建UTF8编码的xml,而是其他东西。

回到你的问题:
既然您没有向我们提供大量信息,那么您首先解析XML是一个如何使用UTF8专门解析它的示例:

var xmlDoc = XDocument.Parse(
                 File.ReadAllText("filelocation", System.Text.Encoding.UTF8));

XDocument类是System.Xml.Linq命名空间的一部分。

此外,如果您想要优化它,您可能不希望传入流而不是包含整个xml文档的字符串。