C++读取XML文件用于Qt界面的初始化,在使用Gettext()发生访问内存异常,求指点为什么啊

C++读取XML文件用于Qt界面的初始化,在使用Gettext()发生访问内存错误,求指点为什么啊啊啊啊啊
要读取的XML文件,很简单的用户名,密码。
<LoginInfo>
<UserInfo>
<UserName>7e3f40511b178afb7f9e2c1a7a9e55af</UserName>//经过QCrytographicHash加密,谁知道怎么解密??
<Password>b01abf84324066bdb4eed4d5bf20f887</Password>
<isRemember>2</isRemember>
<isAutoLogin>0</isAutoLogin>
</UserInfo>
</LoginInfo>

下面是读XML的代码:
void CLoginDlg::ReadInfo()
{
CoInitialize(NULL);
MSXML2::IXMLDOMDocumentPtr pDoc;
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument60));
if(SUCCEEDED(hr))
{  
pDoc->load(_variant_t("test.xml")); 

MSXML2::IXMLDOMElementPtr pRoot = pDoc->GetdocumentElement();
MSXML2::IXMLDOMNodeListPtr pNodeList = pRoot->GetchildNodes();

//网上的资料说是这指针为空的原因,为什么啊
  MSXML2::IXMLDOMNodePtr pNodeUserName = pRoot->selectSingleNode("UserName");
//  MSXML2::IXMLDOMNodePtr pNodePassword= pRoot->selectSingleNode("Password");
// MSXML2::IXMLDOMNodePtr pXmlNodeisRemember= pRoot->selectSingleNode("isRemember");
//  MSXML2::IXMLDOMNodePtr pXmlNodeisAutoLogin= pRoot->selectSingleNode("isAutoLogin");

QString user_name =(char*)pNodeUserName->Gettext();//运行到这里出错,发生访问冲突。

if (1/*XML文件中读取isRemember的值为非零*/)
{
pUi->ckbRemPwd->setCheckState(Qt::Checked);
pUi->leUserName->setText(user_name);
/*pUi->lePwd->setText(password);*/
}

}
CoUninitialize();
}
------解决方案--------------------
pRoot->selectSingleNode("UserName");
这一句,至少也应该换成
pNodeList->selectSingleNode("UserName");