您的位置:首页 > Web前端 > Node.js

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

2012-12-06 10:54 435 查看
比如我有一个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是新手,请各位不吝赐教.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐