【问题标题】:How to read XML file in Encoding utf-8如何以编码 utf-8 读取 XML 文件
【发布时间】:2017-01-11 01:00:27
【问题描述】:

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

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

【问题讨论】:

  • 它在哪里显示'???'?在控制台,IDE,...?可能是与控制台相关的代码页无法正确显示中文字符。

标签: c# xml


【解决方案1】:

首先,请确保数据在 UTF8 中实际上是可读的,这样做的方式是:

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

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

回到你的问题:
由于您没有向我们提供很多信息,因此您首先要如何解析 XML,这里是一个示例,说明您将如何专门使用 UTF8 解析它:

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

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

另外,如果你想优化它,你可能不想传入一个流而不是包含整个 xml 文档的字符串。

【讨论】:

  • @Shanoo 因为您是新手:如果您发现答案有帮助,您可以做两件事:按答案旁边的向上按钮投票,如果它也是您问题的答案通过单击答案旁边的否决票下方的接受答案按钮接受它作为答案
猜你喜欢
  • 2016-08-14
  • 1970-01-01
  • 2013-07-04
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
  • 2019-01-03
  • 1970-01-01
  • 2022-07-20
相关资源
最近更新 更多