#include "StdAfx.h" #include "MBVaultCatalogHlinkMgr.h" CMBVaultCatalogHlinkMgr::CMBVaultCatalogHlinkMgr(void) { RemoveAllVaultCatalogHlink(); } CMBVaultCatalogHlinkMgr::~CMBVaultCatalogHlinkMgr(void) { RemoveAllVaultCatalogHlink(); } void CMBVaultCatalogHlinkMgr:: GetVaultCatalogHlinkVector( CMBVaultCatalogHlinkVector &vectorCatalogHlink) { vectorCatalogHlink.clear(); vectorCatalogHlink = m_vectorCatalogHlink; } bool CMBVaultCatalogHlinkMgr::AddVaultCatalogHlink( CMBVaultCatalogHlink *pVaultCatalogHlink ) { if( NULL == pVaultCatalogHlink ) return false; m_vectorCatalogHlink.push_back(pVaultCatalogHlink); return true; } // Çå³ýËùÓÐ bool CMBVaultCatalogHlinkMgr::RemoveAllVaultCatalogHlink() { CMBVaultCatalogHlinkVector::iterator it; CMBVaultCatalogHlink *pVaultCatalogHlink = NULL; for( it = m_vectorCatalogHlink.begin();it != m_vectorCatalogHlink.end();it++ ) { pVaultCatalogHlink = *it; delete pVaultCatalogHlink; pVaultCatalogHlink = NULL; } m_vectorCatalogHlink.clear(); return true; } bool CMBVaultCatalogHlinkMgr::ParseXml( CString strXml,CString strVaultID,CString strCatalogID,CString &strErrInfo ) { if( strXml.IsEmpty() ) return true; pugi::xml_document xmlDoc; if (!xmlDoc.load(strXml)) { return false; } pugi::xml_node objNode = xmlDoc.child(_T("Body")).child(_T("Obj")); for(pugi::xml_node node = objNode; node; node = node.next_sibling(_T("Obj"))) { CMBVaultCatalogHlink *pVaultCatalogHlink = new CMBVaultCatalogHlink(); pVaultCatalogHlink->m_strCatalogID = strCatalogID; pVaultCatalogHlink->m_strClsID = node.attribute(_T("ClassID")).value(); pVaultCatalogHlink->m_strObjID = node.attribute(_T("ID")).value(); //pVaultCatalogHlink->m_strVID; // ͬ°æ±¾±êʶ pVaultCatalogHlink->m_strDisplayName = node.child_value(_T("Name")); //pVaultCatalogHlink->m_strExtAttr; pVaultCatalogHlink->m_strCreator = node.attribute(_T("CreatorID")).value(); pVaultCatalogHlink->m_strTLink = node.attribute(_T("DTCreate")).value(); //pVaultCatalogHlink->m_nOrder; // ÏÔʾ´ÎÐò pVaultCatalogHlink->m_strVaultID = strVaultID; //pVaultCatalogHlink->m_strTags; if( !AddVaultCatalogHlink( pVaultCatalogHlink ) ) { delete pVaultCatalogHlink; pVaultCatalogHlink = NULL; } } return true; }