DOM XML遍历子结点时遇到nodeName和nodeValue的问题

比如我有一个XML文件

<Sample_Setting>
<num>555</num>
</Sample_Setting>

我需要查找tag num中的数字是多少,在下面的代码中

1 TCHAR* node_temp = static_cast<TCHAR*>(XMLElement->nodeName);
2 XMLElement->get_text((BSTR*)(&value_tmp));
3 if(wcscmp(node_temp, L"num") == 0)     //breakpoint, when stop here, always find that  nodeName (也就是node_temp)= "555" and nodeValue(也就是value_temp) = "555", why nodeName = "num"?

4  {

5 ......

6   }

XMLElement已经指向<num>555<num1>这个标签,在第3行设置断点,在程序运行在断点时,发现总是nodeName = "555" and nodeValue = "555",此时不是应该 

nodeName = " num"吗?

我为这个问题纠结得好心瘁啊!!!!!!

终于,我在第2行处设置个断点,程序停下来的时候,我发现node_temp确实是num, 而当程序执行到3行时,node_temp又变成了555? 天啊,这意味着执行了

XMLElement->get_text之后,XMLElement已经发生了变化??

最后总结出两点:

1.对于 这个标签<num>555</num>,其实是包括两个node,一个是<num></num>,另一个555

2.执行XMLElement->get_text时,指针会自动从<num></num> 这个node 跳转到555 这个node

不知道这么理解是否正确。本人对DOM XML是新手,请各位不吝赐教.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值