关于读写xml的,请大神们解答解决方法
关于读写xml的,请大神们解答
我用vc6.0创建了一个对话框,然后又创建了一个按钮,然后双击按钮在OnButton1()里面写了
然后又加了文件
#import "msxml3.dll"
using namespace MSXML2;
然后就一直在抱错,请各位解答下为啥这样呢?
error C2039: 'load' : is not a member of 'IXMLDocument'
error C2039: 'GetdocumentElement' : is not a member of 'IXMLDocument'
------解决方案--------------------
error C2039: 'load' : is not a member of 'IXMLDocument'
error C2039: 'GetdocumentElement' : is not a member of 'IXMLDocument'
IXMLDocument类没有load这个成员函数
IXMLDocument 没有GetdocumentElement这个成员函数。
好久没用MSXML了,查一下成员函数表吧
------解决方案--------------------
HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
// 改为 HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument40));
------解决方案--------------------
http://www.cnblogs.com/babyblue/archive/2005/05/09/151462.html
------解决方案--------------------
读写xml的类多了去了,TinyXML,CMarkUp,不知道为什么非要用这种方法
------解决方案--------------------
把MSXML2::IXMLDocumentPtr XMLDOC;修改为MSXML2::IXMLDOMDocumentPtr XMLDOC;试一试吧!!希望能解决你的问题。
我用vc6.0创建了一个对话框,然后又创建了一个按钮,然后双击按钮在OnButton1()里面写了
//这是看网上的
::CoInitialize(NULL);
MSXML2::IXMLDocumentPtr XMLDOC;
MSXML2::IXMLDOMElementPtr XMLROOT;
MSXML2::IXMLDOMElementPtr XMLELEMENT;
MSXML2::IXMLDOMNodeListPtr XMLNODES;
MSXML2::IXMLDOMNamedNodeMapPtr XMLNODEATTS;//某个节点的所有属性;
MSXML2::IXMLDOMNodePtr XMLNODE;
HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(HR))
{
//MessageBox("faild!!");
return ;
}
XMLDOC->load("E:\\S-水浒无双\\Client\\UserData\\Login.config");
XMLROOT = XMLDOC->GetdocumentElement();//获得根节点;
XMLROOT->get_childNodes(&XMLNODES);//获得根节点的所有子节点;
long XMLNODESNUM,ATTSNUM;
XMLNODES->get_length(&XMLNODESNUM);//获得所有子节点的个数;
CString TMP;
TMP.Format("%d",XMLNODESNUM);
//MessageBox(TMP);
for(int I=0;I<XMLNODESNUM;I++)
{
XMLNODES->get_item(I,&XMLNODE);//获得某个子节点;
XMLNODE->get_attributes(&XMLNODEATTS);//获得某个节点的所有属性;
XMLNODEATTS->get_length(&ATTSNUM);//获得所有属性的个数;
for(int J=0;J<ATTSNUM;J++)
{
XMLNODEATTS->get_item(J,&XMLNODE);//获得某个属性;
CString T1 = (char*)(_bstr_t)XMLNODE->nodeName;
CString T2 = (char*)(_bstr_t)XMLNODE->text;
//MessageBox(T1+" = "+T2);
}
//MessageBox((_bstr_t)XMLNODE->nodeName+": "+(_bstr_t)XMLNODE->text);
}
//XMLDOC->save("XMLTEST.XML");
XMLNODES.Release();
XMLNODE.Release();
XMLROOT.Release();
XMLDOC.Release();
::CoUninitialize();
然后又加了文件
#import "msxml3.dll"
using namespace MSXML2;
然后就一直在抱错,请各位解答下为啥这样呢?
error C2039: 'load' : is not a member of 'IXMLDocument'
error C2039: 'GetdocumentElement' : is not a member of 'IXMLDocument'
------解决方案--------------------
error C2039: 'load' : is not a member of 'IXMLDocument'
error C2039: 'GetdocumentElement' : is not a member of 'IXMLDocument'
IXMLDocument类没有load这个成员函数
IXMLDocument 没有GetdocumentElement这个成员函数。
好久没用MSXML了,查一下成员函数表吧
------解决方案--------------------
HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
// 改为 HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument40));
------解决方案--------------------
http://www.cnblogs.com/babyblue/archive/2005/05/09/151462.html
------解决方案--------------------
读写xml的类多了去了,TinyXML,CMarkUp,不知道为什么非要用这种方法
------解决方案--------------------
把MSXML2::IXMLDocumentPtr XMLDOC;修改为MSXML2::IXMLDOMDocumentPtr XMLDOC;试一试吧!!希望能解决你的问题。