今天在工作中要读取一个GBK的XML文件,GB2312可以认为是GBK的子集,即GBK编码是在gb2312上扩展来的,由于XmlTextReader不支持GBK,因此我用GB2312代替。再有,因为XmlTextReader的Encoding属性只读,所以只能通过StreamReader读取。下面是示例代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.XXX.com/XXX.xml");
//声明一个HttpWebRequest请求
request.Timeout = 30000;
//设置连接超时时间
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("GB2312");
StreamReader streamReader = new StreamReader(streamReceive, encoding);
System.Xml.XmlTextReader reader=new XmlTextReader(streamReader);
ds.ReadXml(reader);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.XXX.com/XXX.xml");
//声明一个HttpWebRequest请求
request.Timeout = 30000;
//设置连接超时时间
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("GB2312");
StreamReader streamReader = new StreamReader(streamReceive, encoding);
System.Xml.XmlTextReader reader=new XmlTextReader(streamReader);
ds.ReadXml(reader);
浙公网安备 33010602011771号