MSXML2::IXMLDOMDocumentPtr xmldoc;
MSXML2::IXMLElementPtr pe;
MSXML2::IXMLDOMNodePtr Node;
MSXML2::IXMLAttributePtr pa;
xmldoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));
CString ConfPath;
ConfPath = "conf\\conf.xml";
xmldoc->load(COleVariant((LPCTSTR)ConfPath));
Node = xmldoc->selectSingleNode(_bstr_t("//Conf/Workspace"));
pe = Node;
MessageBox(pe->text, NULL, MB_OK);从下面三篇文章我得到这个答案
http://community.csdn.net/Expert/topic/4371/4371078.xml?temp=.2642328
http://www.vczx.com/article/show.php?id=361
http://community.csdn.net/Expert/topic/4189/4189251.xml?temp=2.080935E-02
直接pe = Node 但是在VS2005里面 pe 调试了一下 死活就是NULL,也就是说Node没有真正给pe赋值。
所以到了pe->text,总之对pe的后续任何操作都是异常,异常的大概意思是说pe是0地址。
是VS2005的毛病,还是需要主意其他什么地方

解决方案 »

  1.   

    马虎了 
    MSXML2::IXMLDOMDocumentPtr xmldoc;
    MSXML2::IXMLElementPtr pe;*********************<<<--  :(
    MSXML2::IXMLDOMNodePtr Node;
    MSXML2::IXMLAttributePtr pa;
      

  2.   

    is the value of Node NULL?
    is the loading asynchronous( check xmldoc.async)?
      

  3.   

    MSXML2::IXMLDOMElementPtr pe;
    加DOM
      

  4.   

    MSXML2::IXMLElementPtr pe;这句话应该是MSXML2::IXMLDOMElementPtr pe;
    同样:MSXML2::IXMLAttributePtr pa;这句话应该是MSXML2::IXMLDOMAttributePtr pa;