<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
<InstallItemS>
<Item ZqName="渤海证券" JyName="合一版网上交易" Runexe="e:\newdmtz_r11\release\cfzzd\Data\\wtjy\BHZQ77/渤海证券/HYBWSJY/winwt.exe" sversion="1.0" />
</InstallItemS>
//从字符串
TiXmlDocument doc;
if(doc.Parse(strWeather.c_str(),0,TIXML_DEFAULT_ENCODING)) return FALSE;
TiXmlElement *pRoot = doc.RootElement();//ArrayOfString
TiXmlElement *pString = pRoot->FirstChildElement();//string
//从文件
BOOL CInstalledPanel::LoadFromXml(LPCTSTR xmlPath)
{m_strXmlPath = xmlPath;
try
{
TiXmlDocument Tdoc;
C22 Obj(xmlPath);
char *szXml = Obj;
if(!Tdoc.LoadFile(szXml)) return FALSE;
TiXmlElement *pRoot = Tdoc.RootElement();//InstallItemS
if(pRoot)
{
TiXmlElement *pItem = pRoot->FirstChildElement("Item");
while(pItem)
{
const char *szZqName = pItem->Attribute("ZqName");
const char *szJYName = pItem->Attribute("JyName");
const char *szRunexe = pItem->Attribute("Runexe");
const char *szVersion = pItem->Attribute("sversion");
{
C22 objZQ(szZqName);
C22 objJY(szJYName);
C22 objRunexe(szRunexe);
C22 objVersion(szVersion);
CInstalledItem *pInstallItem = new CInstalledItem(objZQ,objJY,objRunexe,objVersion);
AddItems_NoCalc(pInstallItem);
CString strName = (TCHAR *)objZQ;
if(m_pBindPanel)
{
CPublisherPanel *pPublis = (CPublisherPanel *)m_pBindPanel;
CPublishedItem *publisItem = (CPublishedItem *)pPublis->GetPublushedItem(strName);
if(publisItem)
{
strName = strName.Trim();
m_vMapTitleItem[strName] = publisItem;
if(publisItem->GetVersion() != pInstallItem->GetVersion())
{
//用于更新列表
m_vUpdateItem[publisItem] = pInstallItem;
}
publisItem->SetSelect(TRUE);
}
}
}
pItem = pItem->NextSiblingElement("Item");
}
}
}
catch(...)
{
return FALSE;
}
return TRUE;
}
BOOL CInstalledPanel::SaveToXml()
{
try
{
TiXmlDocument Tdoc;
C22 Obj(m_strXmlPath);
char *szXml = Obj;
if(Tdoc.LoadFile(szXml))
{
Tdoc.Clear();
}
TiXmlDeclaration *pDeclaration = new TiXmlDeclaration("1.0","GB2312","yes");
Tdoc.LinkEndChild(pDeclaration);
TiXmlElement *pInstallItemS = new TiXmlElement("InstallItemS");
Tdoc.LinkEndChild(pInstallItemS);
for (int i = 0;i < m_vItem.size();++i)
{
TiXmlElement *pItem = new TiXmlElement("Item");
if(m_vItem[i])
{
CInstalledItem *pInstall = (CInstalledItem *)m_vItem[i];
C22 ObjZqName(pInstall->GetZQName());
C22 ObjJyName(pInstall->GetJYName());
C22 ObjRunexe(pInstall->GetRunexe());
C22 ObjVersion(pInstall->GetVersion());
pItem->SetAttribute("ZqName",ObjZqName);
pItem->SetAttribute("JyName",ObjJyName);
pItem->SetAttribute("Runexe",ObjRunexe);
pItem->SetAttribute("sversion",ObjVersion);
pInstallItemS->LinkEndChild(pItem);
}
}
Tdoc.SaveFile();
}
catch(...)
{
return FALSE;
}
return TRUE;
}