使用msxml的一个问题

bicennan 2007-05-09 08:17:44
我首先创建了一个xml 文件
然后用msxml2_tlb控件中的 load方法时
路径没错 load方法也过了 可是就是在DOMdocumentPtr pDoc(获取DOM的文档)后
然后获取根节点时 get_documentElement出现问题 返回的 根节点指针总是NULL
十分奇怪 我的xml 是最简单的<root/> 为什么会有这种问题?
...全文
208 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bicennan 2007-05-10
  • 打赏
  • 举报
回复
附上代码:
#include <dir.h>
#include <stdio.h>
#include "msxml2_tlb.h"
#include "assert.h"
HRESULT hr;

hr=CoInitialize(NULL);
assert(SUCCEEDED(hr));
Msxml2_tlb::IXMLDOMDocumentPtr pDoc;

hr = pDoc.CreateInstance(CLSID_DOMDocument40);
assert(SUCCEEDED(hr));
//加载ChatRecord

AnsiString fdir = ExtractFilePath(Application->ExeName);
AnsiString fn = fdir + IntToStr(this->FUserDB->UserID)+"\\Record.xml";
wchar_t * pFileNameBuf=new wchar_t[BufSize];
fn.WideChar(pFileNameBuf,BufSize*sizeof(wchar_t));
Variant LoadPath(pFileNameBuf);
hr=pDoc->load(LoadPath);
assert(hr!=false);
delete [] pFileNameBuf;


//根节点
Msxml2_tlb::IXMLDOMElementPtr pDocElement = pDoc->get_documentElement();

我的xml文件是<root/>
问题就出在这里 pDoc->get_documentElement();返回的是一个NULL 而不是根节点root
请问到底是什么原因?有什么方法可以实现get_documentElement(); 最后再问问那个LoadPath的类型转化自己感觉用得很费 有没有高手来电鲜亮的 ....
小弟跪拜阿

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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