📄 xmlparse.cpp
字号:
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 + -