关于读写xml的,请大神们解答

AT那个人 2012-02-03 04:11:16
我用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'
...全文
283 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
AT那个人 2012-03-20
  • 打赏
  • 举报
回复
最后用CMarkUp这个搞定的。谢谢各位
liuzheng85711 2012-02-17
  • 打赏
  • 举报
回复
把MSXML2::IXMLDocumentPtr XMLDOC;修改为MSXML2::IXMLDOMDocumentPtr XMLDOC;试一试吧!!希望能解决你的问题。

老王爱上猫 2012-02-16
  • 打赏
  • 举报
回复
10楼提供的方法,LZ可以试一下。。。
十八道胡同 2012-02-14
  • 打赏
  • 举报
回复
MSXML2::IXMLDocumentPtr XMLDOC;
->
MSXML2::IXMLDOMDocumentPtr pXMLDOC;

就可以了
phoenix_zhou 2012-02-04
  • 打赏
  • 举报
回复
读写xml的类多了去了,TinyXML,CMarkUp,不知道为什么非要用这种方法
AT那个人 2012-02-03
  • 打赏
  • 举报
回复
我的QQ549553873,哪位大侠知道的话加下我的QQ哈
好纠结哦
AT那个人 2012-02-03
  • 打赏
  • 举报
回复
这个都配置正确了,好像还是这个问题
[Quote=引用 7 楼 sky_kid 的回复:]
http://www.cnblogs.com/babyblue/archive/2005/05/09/151462.html
[/Quote]
SKy_kid 2012-02-03
  • 打赏
  • 举报
回复
http://www.cnblogs.com/babyblue/archive/2005/05/09/151462.html
AT那个人 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 itxuls 的回复:]
HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
// 改为 HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument40));
[/Quote]

大哥,还是不行,还是抱一样的错
itxuls 2012-02-03
  • 打赏
  • 举报
回复
HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
// 改为 HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument40));
AT那个人 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sky_kid 的回复:]
error C2039: 'load' : is not a member of 'IXMLDocument'
error C2039: 'GetdocumentElement' : is not a member of 'IXMLDocument'
IXMLDocument类没有load这个成员函数
IXMLDocument 没有GetdocumentElement这个成员函数。
好久没……
[/Quote]
我也是第一次弄这个,难不成得用其它的函数来替换他
SKy_kid 2012-02-03
  • 打赏
  • 举报
回复
error C2039: 'load' : is not a member of 'IXMLDocument'
error C2039: 'GetdocumentElement' : is not a member of 'IXMLDocument'
IXMLDocument类没有load这个成员函数
IXMLDocument 没有GetdocumentElement这个成员函数。
好久没用MSXML了,查一下成员函数表吧
AT那个人 2012-02-03
  • 打赏
  • 举报
回复
来人啊,来人啊,来人啊,来人啊,来人啊,来人啊
AT那个人 2012-02-03
  • 打赏
  • 举报
回复
希望能有大神下班前告诉我下

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧