Q:
Element
Node
createElement()
appendChild()
CFileFind
IXMLDOMNamedNodeMapPtr
SysFreeString
Deallocates a string allocated previously by SysAllocString , SysAllocStringByteLen , SysReAllocString , SysAllocStringLen , or SysReAllocStringLen .
总结:
1、初始化document对象指针 m_pXMLDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));
2、载入xml文件 m_pXMLDoc->load(CComVariant::CComVariant(m_csFileName),&vbOK);其中VARIANT_BOOL vbOK,未作初始化。load后写入load结果,与VARIANT_TRUE宏作比较
3、得到根结点 HRESULT hr = m_pXMLDoc->get_documentElement(&rootElem);,参数为element类型的引用
4、根据段名取得nodelist HRESULT hr = pParentNode->selectNodes(_bstr_t(csName), &tempList)
5、得到list中的某个索引节点 tempList->get_item(nIndex,&findNode);
6、属性操作pNode->get_attributes(&attrMap);attrMap的类型为IXMLDOMNamedNodeMapPtr
7、读取属性 attrMap->getNamedItem(_bstr_t(csAttrName), &attrNode);
8、读取属性的text值 HRESULT hr = attrNode->get_text(&bstr); bstr为BSTR类型的值,可以强转为CString类型