⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlparse.cpp

📁 该程序是mobile5.0 ppc2003系统下的
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			ar.Close();		  
		    myFile.Close();
			
		  }
		  */
///////////////////////////////////////////////////////
		        //delete []tmp;
				//delete []strdata3;

}

CString CXmlParse::parseWeifaXml(CString xmlStr, const CString tag)
{
	if(!xmlStr.IsEmpty() && !tag.IsEmpty())
	{
		
		VARIANT_BOOL bSuccess=false;
//		long lengths=xmlStr.GetLength();
		
		
		

		    int xmlsize=0;
			int lensxml=0;
			char *strdata3= new char[409600];
			char *tmps=new char[2048];
			strcpy(strdata3,"");
			
			CStdioFile csf;
		  if(!csf.Open(_T("\\My Documents\\test.txt"),CFile::modeRead | CFile::typeBinary | CFile::shareDenyWrite))
			{
				AfxMessageBox(L"读文件错误!\n文件正在使用中,请先关闭程序!",MB_ICONSTOP);			
			}
			else
			{
				while((lensxml=csf.Read(tmps,2048))>0)
				{
					for(int rr=0;rr<lensxml;rr++)
					{
					strdata3[xmlsize+rr]=tmps[rr];

					}
					xmlsize+=lensxml;
				}
				csf.Close();
			}
			
			
			//AfxMessageBox(xmlcontents);
				
		char *tmp=new char[200];
		strcpy(tmp,"<?xml version=\"1.0\" encoding=\"UTF-16\"?>");
		
	//	WideCharToMultiByte(CP_ACP, 0, xmlStr, -1, strdata3, xmlStr.GetLength()*2, NULL, NULL);
		//MessageBox(strdata3,_T("test"),MB_OK);
		for(int i=0;i < (int)strlen(tmp);i++)
		{
			strdata3[i]=tmp[i];
		}
		
		if( m_iXMLDoc->loadXML(CComBSTR(strdata3),&bSuccess) == S_OK)
		{
			//AfxMessageBox(_T("load xml success"));
			CString getdata;
			CString temp;


			
			if(m_iXMLDoc->get_documentElement(&m_iRootElm) == S_OK)
			{
				//AfxMessageBox(_T("get_documentElement success"));
				int listnum=0;	
				CXmlElement eroot(m_iRootElm);
				CXmlElement emessage = eroot.subnode(L"data-message");
				CXmlElement eResultMsg = emessage.subnode(L"ResultSet");
				CXmlElement eCols;
				eCols = eResultMsg.subnode(L"row",L"id",inttostr(listnum++));
				CString strs=eCols.val();
				while(strs.GetLength()>0)
				{
				CXmlElement eColscasecode = eCols.subnode(L"col",L"name",L"CASECODE");
				temp=_T("案件编号:");
				//getdata+=temp;
				getdata += eColscasecode.val();
				temp=_T("\r\n");
				getdata +=temp;
				CXmlElement eColsdanwei = eCols.subnode(L"col",L"name",L"DANWEI");	
				temp=_T("受理单位:");
				//getdata+=temp;
				getdata+=eColsdanwei.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsbumen = eCols.subnode(L"col",L"name",L"BUMEN");	
				temp=_T("受理部门:");
				//getdata+=temp;
				getdata+=eColsbumen.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsyewutype = eCols.subnode(L"col",L"name",L"YEWUTYPE");	
				temp=_T("业务类型:");
				//getdata+=temp;
				getdata+=eColsyewutype.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsstarttime = eCols.subnode(L"col",L"name",L"STARTTIME");	
				temp=_T("受理时间:");
				//getdata+=temp;
				getdata+=eColsstarttime.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsshoulitype = eCols.subnode(L"col",L"name",L"SHOULITYPE");	
				temp=_T("受理类型:");
				//getdata+=temp;
				getdata+=eColsshoulitype.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsprayman = eCols.subnode(L"col",L"name",L"PRAYPEOPLE");	
				temp=_T("投诉人:");
				//getdata+=temp;
				getdata+=eColsprayman.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColspraymantel = eCols.subnode(L"col",L"name",L"PRAYPHONE");	
				temp=_T("投诉人电话:");
				//getdata+=temp;
				getdata+=eColspraymantel.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColspraymanaddress = eCols.subnode(L"col",L"name",L"PRAYADDRESS");	
				temp=_T("投诉人地址:");
				//getdata+=temp;
				getdata+=eColspraymanaddress.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsdoman = eCols.subnode(L"col",L"name",L"DEPEOPLE");	
				temp=_T("受理人:");
				//getdata+=temp;
				getdata+=eColsdoman.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsaddress = eCols.subnode(L"col",L"name",L"ADDRESS");	
				temp=_T("案发地址:");
				//getdata+=temp;
				getdata+=eColsaddress.val();
				temp=_T("\r\n");
				getdata+=temp;

				CXmlElement eColscontents = eCols.subnode(L"col",L"name",L"CONTENTS");	
				temp=_T("案件描述:");
				//getdata+=temp;
				getdata+=eColscontents.val();
				temp=_T("\r\n");
				getdata+=temp;

				temp=_T("\r\n|\r\n");
				getdata +=temp;

				eCols = eResultMsg.subnode(L"row",L"id",inttostr(listnum++));
				strs=eCols.val();
				}
				//listnum=2;
				//getdata=("1|6");
				CString datas;
				char anjiannum[20];
				strcpy(anjiannum,"");
				sprintf(anjiannum,"%d",listnum);
				datas=anjiannum;
				datas+=_T("|");
				datas+=getdata;
				
//////////////////////////////////////////////////////
				/*
			CFile myFile;
		  CFileException ex;
		  if(!myFile.Open(_T("\\My Documents\\contents.txt"),CFile::modeCreate | CFile::modeWrite,&ex))
			{
			TCHAR szError[1024];
			ex.GetErrorMessage(szError, 1024);
			AfxMessageBox(szError);
		//	return false;
			}
		  else
		  {
			 
			CArchive ar(&myFile, CArchive::store);
			ar<<datas;
			ar.Close();		  
		    myFile.Close();
			
		  }
		  */
///////////////////////////////////////////////////////
		        //delete []tmp;
				//delete []strdata3;
		        strcpy(tmp,"");
				strcpy(strdata3,"");
				m_iRootElm.Release();
				//m_iXMLDoc.Release();
				return datas;
					
			}
			
			}	
	
	}		

	return L"";
}

CString CXmlParse::parseXml(CString xmlStr, const CString tag)
{
	if(!xmlStr.IsEmpty() && !tag.IsEmpty())
	{
		
		VARIANT_BOOL bSuccess=false;
//		long lengths=xmlStr.GetLength();
		
		
		

		    int xmlsize=0;
			int lensxml=0;
			char *strdata3= new char[409600];
			char *tmps=new char[2048];
			strcpy(strdata3,"");
			
			CStdioFile csf;
		  if(!csf.Open(_T("\\My Documents\\test.txt"),CFile::modeRead | CFile::typeBinary | CFile::shareDenyWrite))
			{
				AfxMessageBox(L"读文件错误!\n文件正在使用中,请先关闭程序!",MB_ICONSTOP);			
			}
			else
			{
				while((lensxml=csf.Read(tmps,2048))>0)
				{
					for(int rr=0;rr<lensxml;rr++)
					{
					strdata3[xmlsize+rr]=tmps[rr];

					}
					xmlsize+=lensxml;
				}
				csf.Close();
			}
			
			
			//AfxMessageBox(xmlcontents);
				
		char *tmp=new char[200];
		strcpy(tmp,"<?xml version=\"1.0\" encoding=\"UTF-16\"?>");
		
	//	WideCharToMultiByte(CP_ACP, 0, xmlStr, -1, strdata3, xmlStr.GetLength()*2, NULL, NULL);
		//MessageBox(strdata3,_T("test"),MB_OK);
		for(int i=0;i < (int)strlen(tmp);i++)
		{
			strdata3[i]=tmp[i];
		}
		
		if( m_iXMLDoc->loadXML(CComBSTR(strdata3),&bSuccess) == S_OK)
		{
			//AfxMessageBox(_T("load xml success"));
			CString getdata;
			CString temp;


			
			if(m_iXMLDoc->get_documentElement(&m_iRootElm) == S_OK)
			{
				//AfxMessageBox(_T("get_documentElement success"));
				int listnum=0;	
				CXmlElement eroot(m_iRootElm);
				CXmlElement emessage = eroot.subnode(L"data-message");
				CXmlElement eResultMsg = emessage.subnode(L"ResultSet");
				CXmlElement eCols;
				eCols = eResultMsg.subnode(L"row",L"id",inttostr(listnum++));
				CString strs=eCols.val();
				while(strs.GetLength()>0)
				{
				CXmlElement eColscasecode = eCols.subnode(L"col",L"name",L"CASECODE");
				temp=_T("案件编号:");
				//getdata+=temp;
				getdata += eColscasecode.val();
				temp=_T("\r\n");
				getdata +=temp;
				CXmlElement eColsdanwei = eCols.subnode(L"col",L"name",L"DANWEI");	
				temp=_T("受理单位:");
				//getdata+=temp;
				getdata+=eColsdanwei.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsbumen = eCols.subnode(L"col",L"name",L"BUMEN");	
				temp=_T("受理部门:");
				//getdata+=temp;
				getdata+=eColsbumen.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsyewutype = eCols.subnode(L"col",L"name",L"YEWUTYPE");	
				temp=_T("业务类型:");
				//getdata+=temp;
				getdata+=eColsyewutype.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsstarttime = eCols.subnode(L"col",L"name",L"STARTTIME");	
				temp=_T("受理时间:");
				//getdata+=temp;
				getdata+=eColsstarttime.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsshoulitype = eCols.subnode(L"col",L"name",L"SHOULITYPE");	
				temp=_T("受理类型:");
				//getdata+=temp;
				getdata+=eColsshoulitype.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsprayman = eCols.subnode(L"col",L"name",L"PRAYPEOPLE");	
				temp=_T("投诉人:");
				//getdata+=temp;
				getdata+=eColsprayman.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColspraymantel = eCols.subnode(L"col",L"name",L"PRAYPHONE");	
				temp=_T("投诉人电话:");
				//getdata+=temp;
				getdata+=eColspraymantel.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColspraymanaddress = eCols.subnode(L"col",L"name",L"PRAYADDRESS");	
				temp=_T("投诉人地址:");
				//getdata+=temp;
				getdata+=eColspraymanaddress.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsdoman = eCols.subnode(L"col",L"name",L"DEPEOPLE");	
				temp=_T("受理人:");
				//getdata+=temp;
				getdata+=eColsdoman.val();
				temp=_T("\r\n");
				getdata+=temp;
				CXmlElement eColsaddress = eCols.subnode(L"col",L"name",L"ADDRESS");	
				temp=_T("案发地址:");
				//getdata+=temp;
				getdata+=eColsaddress.val();
				temp=_T("\r\n");
				getdata+=temp;

				CXmlElement eColscontents = eCols.subnode(L"col",L"name",L"CONTENTS");	
				temp=_T("案件描述:");
				//getdata+=temp;
				getdata+=eColscontents.val();
				temp=_T("\r\n");
				getdata+=temp;

				temp=_T("\r\n|\r\n");
				getdata +=temp;

				eCols = eResultMsg.subnode(L"row",L"id",inttostr(listnum++));
				strs=eCols.val();
				}
				//listnum=2;
				//getdata=("1|6");
				CString datas;
				char anjiannum[20];
				strcpy(anjiannum,"");
				sprintf(anjiannum,"%d",listnum);
				datas=anjiannum;
				datas+=_T("|");
				datas+=getdata;
				
//////////////////////////////////////////////////////
				/*
			CFile myFile;
		  CFileException ex;
		  if(!myFile.Open(_T("\\My Documents\\contents.txt"),CFile::modeCreate | CFile::modeWrite,&ex))
			{
			TCHAR szError[1024];
			ex.GetErrorMessage(szError, 1024);
			AfxMessageBox(szError);
		//	return false;
			}
		  else
		  {
			 
			CArchive ar(&myFile, CArchive::store);
			ar<<datas;
			ar.Close();		  
		    myFile.Close();
			
		  }
		  */
///////////////////////////////////////////////////////
		        //delete []tmp;
				//delete []strdata3;
		        strcpy(tmp,"");
				strcpy(strdata3,"");
				m_iRootElm.Release();
				//m_iXMLDoc.Release();
				return datas;
					
			}
			
			}	
	
	}		

	return L"";
}

CString CXmlParse::parseXmlcheck(CString xmlStr, const CString tag)
{
	if(!xmlStr.IsEmpty() && !tag.IsEmpty())
	{
		
		VARIANT_BOOL bSuccess=false;
		
		    int xmlsize=0;
			int lensxml=0;
			char *strdata3= new char[409600];
			char *tmps=new char[2048];
			strcpy(strdata3,"");
			
			CStdioFile csf;
		  if(!csf.Open(_T("\\My Documents\\test.txt"),CFile::modeRead | CFile::typeBinary | CFile::shareDenyWrite))
			{
				AfxMessageBox(L"读文件错误!\n文件正在使用中,请先关闭程序!",MB_ICONSTOP);			
			}
			else
			{
				while((lensxml=csf.Read(tmps,2048))>0)
				{
					for(int rr=0;rr<lensxml;rr++)
					{
					strdata3[xmlsize+rr]=tmps[rr];

					}
					xmlsize+=lensxml;
				}
				csf.Close();
			}
			
			
			//AfxMessageBox(xmlcontents);
				
		char *tmp=new char[200];
		strcpy(tmp,"<?xml version=\"1.0\" encoding=\"UTF-16\"?>");
		
	//	WideCharToMultiByte(CP_ACP, 0, xmlStr, -1, strdata3, xmlStr.GetLength()*2, NULL, NULL);
		//MessageBox(strdata3,_T("test"),MB_OK);
		for(int i=0;i < (int)strlen(tmp);i++)
		{
			strdata3[i]=tmp[i];
		}
		
		if( m_iXMLDoc->loadXML(CComBSTR(strdata3),&bSuccess) == S_OK)
		{
			//AfxMessageBox(_T("load xml success"));
			CString getdata;
			CString temp;


			
			if(m_iXMLDoc->get_documentElement(&m_iRootElm) == S_OK)
			{
				//AfxMessageBox(_T("get_documentElement success"));
				int listnum=0;	
				CXmlElement eroot(m_iRootElm);
				CXmlElement emessage = eroot.subnode(L"data-message");
				CXmlElement eResult = eroot.subnode(L"resultMsg");
				CString findresult=eResult.val();
				//AfxMessageBox(findresult);
				if(findresult==_T("1"))
				{
				CXmlElement eResultMsg = emessage.subnode(L"ResultSet");
				CXmlElement eCols;
				eCols = eResultMsg.subnode(L"row",L"id",inttostr(listnum++));
				CString strs=eCols.val();
				while(strs.GetLength()>0)
				{
				CXmlElement eColscasecode = eCols.subnode(L"col",L"name",L"CASECODE");
				temp=_T("案件编号:");
				getdata+=temp;
				getdata += eColscasecode.val();
				temp=_T("\r\n");
				getdata +=temp;
				CXmlElement eColsdanwei 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -