有如下的xml语句
<type1>
<type2>
<type3>hello<type3>
<type2>
<type1>
请问type2和type3有什么区别?应当如何判别?我使用的是微软提供的IXMLDOMNode和IXMLDOMNodeList
设type2对应IXMLDOMNode指针为node2;type3对应IXMLDOMNode指针为node3,
int num2 = node2->childNodes->length;
int num3 = node3->childNodes->length;
结果num2和num3的值都为1,这种方法感觉不行!
<type1>
<type2>
<type3>hello<type3>
<type2>
<type1>
请问type2和type3有什么区别?应当如何判别?我使用的是微软提供的IXMLDOMNode和IXMLDOMNodeList
设type2对应IXMLDOMNode指针为node2;type3对应IXMLDOMNode指针为node3,
int num2 = node2->childNodes->length;
int num3 = node3->childNodes->length;
结果num2和num3的值都为1,这种方法感觉不行!
解决方案 »
- 怎么在多个静态文本框中绘图
- 想学WINDOWS编程,怎么入门呢?
- 变量初始化问题!!!谁能帮忙解决呢?
- 用何函数判断有没键盘或鼠标消息,从而激活后台的自动关机程序?
- 急求类似代码!!!关于系统托盘的问题和开机运行自动启动的程序
- 高手看过来,当ShellExecuteEx遇到MS-WORD时。。。
- 如何修改CListCtrl中的字体的颜色,选中行的背景色彩
- VC中有没有支持这样的控件!
- CMenu::CheckMenuItem()具体怎么用,用它可以在菜单项前加上钩吗?
- 怎样屏蔽"win"键?
- 如何将CString转转成DWORD
- VC自动提示 Derived类对象显示Base中private成员?
<type1>
<type2>
<type3>hello </type3>
</type2>
</type1>
我也是刚接触,childNodes->length这语句是得到节点长度吧
int num2 = node2->childNodes->length;得到的是在<type2> 下节点长度应该是<type3>。
int num3 = node3->childNodes->length;不清楚了,得到本身的?
<type2>
<type3>hello </type3>
</type2>
</type1>
注意节点(Node)和元素(Element)的区别,如果用的是IXMLDOMElement,那么num2=1,num3=0
现在把问题换一种说法:
请问利用微软提供的IXMLDOMNode、IXMLDOMNodeList和IXMLDOMElement等接口,如何区别type2和type3,即如果解析到type2时,继续向下解析,解析到type3时,不在向下解析,输出内容hello?
要提供一种通用的方法,有些情况下可能嵌套很多。
type3 = type2.selectSingleNode("type3");
type3.text == "hello"vc语法:
IXMLDOMElementPtr type2 = ...;
IXMLDOMElementPtr type3 = type2->selectSingleNode("type3");
_bstr_t hello = type3->text;
assert(hello == "hello");