使用Javascript XMLHttpRequest的返回内容responseXML遇到的异常和解决方法

我经常使用Javascript的类XMLHttpRequest实现基于XML的远程通信,例如,下面的示例:
if(typeof XMLHttpRequest == "undefined")
throw new NoXmlHttpRequestException();

var oRequest = new XMLHttpRequest();
oRequest.open("get", sLoc, false);
oRequest.send(null);

if(oRequest.status != 200)
return null;
else
return oRequest.responseXML;

但是,明明返回了一个XML文件,但是oRequest.responseXML确为空,后来发现responseXML是否有值决定于返回消息头参数content-type,在服务器一定要设定text/xml; charset=UTF-8。