#include "StdAfx.h" #include "MBDocLogMgr.h" CMBDocLogMgr ::CMBDocLogMgr (void) { m_nRecords = 0; // ¨C ¼Ç¼×ÜÊý m_nTotalPages = 0; // ¨C ×ÜÒ³Êý m_nCurPage = 0; // ¨C µ±Ç°Ò³Âë m_nPageSize = 0; // ¨C Ò³¼Ç¼Êý m_bDMSGetDocTypeLog = false; } CMBDocLogMgr ::~CMBDocLogMgr(void) { } bool CMBDocLogMgr::AddDocLogInfo(CMBDocLogInfo *pDocLogInfo) { return AddDocLogObj(pDocLogInfo); } CMBDocLogInfo* CMBDocLogMgr::GetDocLogInfo( CString strID ) { return (CMBDocLogInfo*)GetDocLogObj(strID); } // ½âÎö·þÎñ¶ËÊý¾Ý bool CMBDocLogMgr::ParseXml( CString strXml,CString &strErrInfo ) { if( strXml.IsEmpty() ) { return true; } pugi::xml_document xmlDoc; if (!xmlDoc.load(strXml)) { strErrInfo = _T("CMBDocLogMgr::ParseXml,¼ÓÔØxmlʧ°Ü!"); return false; } CString strRecords,strTotalPages, strCurPage,strPageSize,strFileSize; pugi::xml_node form = xmlDoc.child(_T("Result")); pugi::xml_node node = form; //////////////////Ò³µÄÐÅÏ¢//////////////////////////////// m_strSessionID = node.child_value(_T("SessionID")); strRecords = node.child_value(_T("Records")); m_nRecords = _ttoi(strRecords); strTotalPages = node.child_value(_T("TotalPages")); m_nTotalPages = _ttoi(strTotalPages); strCurPage = node.child_value(_T("CurPage")); m_nCurPage = _ttoi(strCurPage); strPageSize = node.child_value(_T("PageSize")); m_nPageSize = _ttoi(strPageSize); node = form.child(_T("Body")).child(_T("Log")); for (pugi::xml_node tmpNode = node; tmpNode; tmpNode = tmpNode.next_sibling(_T("Log"))) { CMBDocLogInfo *pDocLogInfo = new CMBDocLogInfo(); pDocLogInfo->m_strID = tmpNode.attribute(_T("ID")).value(); // ÈÕÖ¾ID pDocLogInfo->m_strType = tmpNode.attribute(_T("Type")).value(); // ÀàÐÍ pDocLogInfo->m_strOperator = tmpNode.attribute(_T("Operator")).value(); // ²Ù×÷ÕߵǼÃû pDocLogInfo->m_strOperatorName = tmpNode.attribute(_T("OperatorName")).value(); // ²Ù×÷ÕßÃû³Æ pDocLogInfo->m_strTime = tmpNode.attribute(_T("Time")).value(); // ²Ù×÷ʱ¼ä pDocLogInfo->m_nTotal = tmpNode.attribute(_T("Total")).as_int(); // ¨C ä¯ÀÀ¡¢ÏÂÔØµÄ´ÎÊý pDocLogInfo->m_strNote = tmpNode.child_value(_T("Note")); // ¨C±¸×¢ if( !AddDocLogInfo(pDocLogInfo) ) { MBSAFE_DELETE(pDocLogInfo) } } return true; }