加载XML文件但同时文件中有一些希腊字符,如“ναι”,当我将它们加载到数据网格视图表时,它们看起来像是 。
使用xmlreader加载编码iso-8859-7,如
public XmlDocument LoadDocument(String x)
{
XmlDocument document = new XmlDocument();
using (StreamReader stream = new StreamReader(x, Encoding.GetEncoding("iso-8859-7")))
{
document.Load(stream);
}
return (document);
}
答案 0 :(得分:3)
这里最简单的答案是根本不使用StreamReader
。让XML解析器适当地处理编码:
public XmlDocument LoadDocument(String x)
{
XmlDocument document = new XmlDocument();
using (var stream = File.OpenRead(x))
{
document.Load(stream);
}
return document;
}
或者只使用XmlDocument.Load(string)
:
public XmlDocument LoadDocument(String x)
{
XmlDocument document = new XmlDocument();
document.Load(x);
return document;
}
XML文档应该在XML声明中指定其编码,如果需要 - 并且那是最好的事实来源。