VC DOM求教

野生大猫 2011-07-21 10:52:21
XML:类似
<主菜单>
<第一菜单>
<第三></第三>
<第三></第三>
</第一菜单>
</主菜单>

代码:
CoInitialize(NULL);
docPtr.CreateInstance(__uuidof(DOMDocument40));
docPtr->load("E:\\保护菜单\\RCS915GB.xml");//这是问题,假如是个全英文菜单没事,中文节点什么的 //出问题
elePtr = docPtr->documentElement;
nodelist = elePtr->GetchildNodes();//中文报错点
long len = nodelist->Getlength();
CString str;
str.Format("%d",len);
MessageBox(str);

for (int i=0;i<len;i++)
{
nodePtr = nodelist->Getitem(i);
CString str2;
str2.Format("%s",(char*)(_bstr_t)nodePtr->nodeName);
AfxMessageBox(str2);
if (nodePtr->hasChildNodes())
{
IXMLDOMNodeListPtr list1 = nodePtr->GetchildNodes();
long len1 = list1->Getlength();
for (int j=0;j<len1;j++)
{
IXMLDOMNodePtr node = list1->Getitem(j);
CString str1;
str1.Format("%s",(char*)(_bstr_t)node->nodeName);
AfxMessageBox(str1);
}
}
}




求教............................
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
野生大猫 2011-07-21
  • 打赏
  • 举报
回复
接一楼!
IXMLDOMNodeListPtr 的方法 GetLength() 返回的长度为什么是错误的?

也就是说当节点下没有子节点的时候他的长度依然是1,实际过程中 循环只能放弃第一个元素(item(0))?
yxl5958 2011-07-21
  • 打赏
  • 举报
回复
我是来领分的,哈哈
野生大猫 2011-07-21
  • 打赏
  • 举报
回复
已经解决,请进领分!! 谢谢

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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