我正在做一个rss 阅读器,需要下载不同编码的xml并解析,但并不是所有的xml文件都写了 <?xml version=... encoding=...> 后面那个encoding有时没有,我怎样才能确定得到的xml字节流的编码呢?我是用msxml做解析。可能还需要统一转换一下,但我不知道原编码。怎么办? CInternetSession session("my session");
CHttpFile* file = (CHttpFile*)session.OpenURL("http://rss.dayoo.com/news/news.xml");
TCHAR buf[1024] = {0};
MemBuffer textBuf = {NULL, -1, 0}; int bytesRead = 0;
while ((bytesRead = file->Read(buf, 1023)) > 0)
{
cout << bytesRead << endl;
bufcopy(&textBuf, buf, bytesRead);
}
textBuf.buffer[textBuf.length] = 0;得到的所有字节都在textBuf.buffer里面。
谢谢!xiexie!