现在载入跟现实已实现,现在想增加一个CListCtrl,用来显示选择的树形节点的XML属性。
比如XML文件为:
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" revision="A" version="2007">
<Header id="123.ICD" revision="1" toolID="ICDTOOL" version="1.0">
<History>
</History>
</Header>
</SCL>
选择SCL时,List显示xmlns等于多少,revision等于多少等等,选择Header时也是。
现在遇到的情况是在OnSelchangedTree中添加
HTREEITEM hr = m_TreeCtrl.GetSelectedItem();//获得选中节点句柄
CString strSelectName = m_TreeCtrl.GetItemText(hr);//获得选中节点名
IXMLDOMNodeListPtr m_pList = m_pDocRoot->getElementsByTagName((_bstr_t)strSelectName);
最后一句执行后选择SCL节点时m_pList.length为0,其中m_pDocRoot = m_pDoc->documentElement;
请问哪里出了问题吗?或者提供一下用别的方法实现功能。谢谢。
http://www.codeproject.com/KB/tree/floattreecontrol.aspx
3楼的怎么有的XML文件可以 有的XML文件pMap->get_length(&len);LEN为0那?该NODE有属性。
什么样的可以,什么样的不可以?
换一种方式来做可能更容易,在根据XML创建TREE项时,就直接调用 SetItemData 把对应的 IXMLDOMElement* 保存起来,当用户点击项时,直接调用 GetItemData 获得XML节点接口指针,然后读取节点属性。