日期:2014-05-18  浏览次数:20923 次

c#读取XML在遇见中文字符的时候报错?
我创建一个WebService,在服务器端返回一个Dataset.GetXML()生成的XML字符串,客户端要将该字符串读取,重新生成DataSet,但是读取的时候遇见中文字符,程序就不能正常读取。
查询过资料后发现DataSet.GetXML()生成的XML是UTF-8的,而客户端本地读取只能支持GB2313类型的。
请问我如何读取XML?

------解决方案--------------------
http://www.cnblogs.com/murky/archive/2006/07/06/443816.html

------解决方案--------------------
http://topic.csdn.net/t/20050516/10/4009672.html
------解决方案--------------------
sorry,没有看清楚你的问题,转贴一个转换的例子
//批量数据转换
//其实就是将dataset的内容读出到xml文件,然后再输出
public DataSet ISO8859_GB2312(DataSet ds)
{
string xml;
xml = ds.GetXml();
ds.Clear();
//声明字符集
System.Text.Encoding iso8859,gb2312;
//iso8859
iso8859 = System.Text.Encoding.GetEncoding( "iso8859-1 ");
//国标2312
gb2312 = System.Text.Encoding.GetEncoding( "gb2312 ");
byte[] bt;
bt = iso8859.GetBytes(xml);
xml = gb2312.GetString(bt);
ds.ReadXml(new System.IO.StringReader(xml));
return ds;
}
------解决方案--------------------
Webconifg设置一下