今天用C#读取XML文件时遇到了一个这样的问题"系统不支持GBK编码".代码如下:
{
try
{
string xmlurl ="test.xml";
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(xmlurl);
......
......
}
catch(Exception ex)
{
System.Diagnostics.Trace.WriteLine(ex.ToString());
}
}
设段点跟踪发现在doc.Load(xmlurl)这里出现了异常,异常是:"系统不支持GBK编码"
以下是test.xml文档内容:
<?xml version="1.0" encoding="GBK" ?>
<person>
<name>张三</name>
<sex>男</sex>
</person>如果把test.xml里的encoding="utf-8" 或 encoding = "gb2312" 或 encoding = "Unicode"等就没问题
请教各位大虾们,是不是C#不支持GBK编码,如果支持怎么解决这个问题?谢谢!
{
try
{
string xmlurl ="test.xml";
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(xmlurl);
......
......
}
catch(Exception ex)
{
System.Diagnostics.Trace.WriteLine(ex.ToString());
}
}
设段点跟踪发现在doc.Load(xmlurl)这里出现了异常,异常是:"系统不支持GBK编码"
以下是test.xml文档内容:
<?xml version="1.0" encoding="GBK" ?>
<person>
<name>张三</name>
<sex>男</sex>
</person>如果把test.xml里的encoding="utf-8" 或 encoding = "gb2312" 或 encoding = "Unicode"等就没问题
请教各位大虾们,是不是C#不支持GBK编码,如果支持怎么解决这个问题?谢谢!
Thread.CurrentTread.CurrentCulture = new CultureInfo("GBK");
没测试过
我都是在Load的时候如果出错,
就说明可能是编码不支持或其它原因,
就把xml下下来,保存,在本地,然后,编码转化成GB2312的,
然后再处理
你在xml中指定encoding="GBK",但是你的xml文档不是gbk编码格式的。
xml 有时候不是自己定的呀