使用StreamReader从xml文件中加载外来字符
本文关键字:加载 字符 文件 StreamReader xml 使用 | 更新日期: 2023-09-27 18:18:41
我正在加载一个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);
}
这里最简单的答案是根本不使用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声明中指定它的编码-而是最好的事实来源。