#include "StdAfx.h" #include "MBPsnDocInfo.h" IMPLEMENT_DYNAMIC(CMBPsnDocInfo, CMBBaseDocObj) CMBPsnDocInfo::CMBPsnDocInfo(void) { m_nFakeType = DOC_PSN; } CMBPsnDocInfo::~CMBPsnDocInfo(void) { } CString CMBPsnDocInfo::GetThumbUrlID( ) { int nDotPos = m_strThumbURL.ReverseFind(_T('.')); int nSlashPos = m_strThumbURL.ReverseFind(_T('\\')); if( nDotPos == -1 || nSlashPos == -1 ) return _T(""); return m_strThumbURL.Mid(nSlashPos+1,nDotPos-nSlashPos-1); } bool CMBPsnDocInfo::ParseXML(CString &strXML,CString &strErrInfo) { if( strXML.IsEmpty() ) { m_nSecretLvl = 10000; // ˵Ã÷ µ÷ÓÃGetDocInfoûÓзµ»ØÈκÎÐÅÏ¢,ÉèÖÃΪ10000£¬Ãܼ¶ºÜ´óµÄÒâ˼ return true; } pugi::xml_document xmlDoc; if (!xmlDoc.load(strXML)) { return false; } CString strSecretLvl; // Ãܼ¶ pugi::xml_node form = xmlDoc.child(_T("Doc")); pugi::xml_node node = form; m_strCanDownload = node.attribute(_T("CanDownload")).value(); m_strVID = node.attribute(_T("VID")).value(); m_strVer = node.attribute(_T("Ver")).value(); strSecretLvl = node.attribute(_T("SecretLvl")).value(); m_nSecretLvl = _ttoi(strSecretLvl); m_strSecretName = node.attribute(_T("SecretName")).value(); m_strCreatorName = node.attribute(_T("CreatorName")).value(); m_strDTCreate = node.attribute(_T("DTCreate")).value(); m_strModifier = node.attribute(_T("Modifier")).value(); m_strModifierName = node.attribute(_T("ModifierName")).value(); m_strDTModify = node.attribute(_T("DTModify")).value(); m_strFileMD5 = node.attribute(_T("FileMD5")).value(); m_strFileServer = node.attribute(_T("FileServer")).value(); m_strFileID = node.attribute(_T("FileID")).value(); m_strPdfFileID = node.attribute(_T("PdfFileID")).value(); m_strSwfFileID = node.attribute(_T("SwfFileID")).value(); m_strThumbFileID = node.attribute(_T("ThumbFileID")).value(); m_strCanEdit = node.attribute(_T("CanEdit")).value(); m_strVersion = node.attribute(_T("Version")).value(); m_strPhase = node.attribute(_T("Phase")).value(); m_strCanEdit = node.attribute(_T("CanEdit")).value(); m_strCabinetID = node.attribute(_T("CabinetID")).value(); m_strCabinetName = node.attribute(_T("CabinetName")).value(); m_strCatalogID = node.attribute(_T("CatalogID")).value(); m_strFileName = node.child_value(_T("FileName")); m_strCatalogPath = node.child_value(_T("CatalogPath")); m_strTags = node.child_value(_T("Tags")); m_strNote = node.child_value(_T("Note")); return true; }