#include "tinyxml.h"
#include "tinystr.h"
char * set_path(char * my_path)
{
wchar_t src[100];
GetModuleFileName(NULL,src,_MAX_PATH);
char * des = NULL;
int len= WideCharToMultiByte(CP_ACP,0,src,wcslen(src),NULL,0,NULL,NULL);
des=(char *)malloc(sizeof(char) * (len + 1));
WideCharToMultiByte(CP_ACP,0,src,wcslen(src),des,len,NULL,NULL);
des[len] = '\0';
int i=0;
while (i<4)
{
char *p=strrchr(des,'\\');
if (p)
{
*p='\0';
}
i++;
}
strcat(des,"\\Platform\\replace.xml");
strcpy(my_path,des);
return des;
}
string SelectSingleNode(char* xmlpath,string nodeName)
{
//加载一个XML的文档对象。
string str="fail";
FILE *p=NULL;
p=fopen(xmlpath,"r");
if(p==NULL||xmlpath==NULL)
{
// MessageBox(_T("提示"),_T("不能读取replace.xml文件"));
return str;
}
fclose(p);
TiXmlDocument *myDocument = new TiXmlDocument(xmlpath);
myDocument->LoadFile();
//获得根元素,
TiXmlElement *RootElement = myDocument->RootElement();
string csTemp = RootElement->Value();//csTemp = "x:REPLACEMENT"
TiXmlElement *FirstPerson = RootElement->FirstChildElement();
TiXmlElement *REPLACE=NULL;
csTemp = FirstPerson->Value(); //csTemp = "class"
while (FirstPerson)
{
FirstPerson = FirstPerson->FirstChildElement();
if (FirstPerson)
{
string csTempl = FirstPerson->Value(); //csTemp = "REPLACE"
if (csTempl=="REPLACE")
{
REPLACE=FirstPerson;
}
csTemp = FirstPerson->FirstChild()->Value();
if (csTemp==nodeName)
{
FirstPerson=FirstPerson->NextSiblingElement();
csTemp = FirstPerson->FirstChild()->Value();
return csTemp;
}
csTemp = FirstPerson->FirstChild()->Value();
}
else
{
FirstPerson=REPLACE;
FirstPerson=FirstPerson->NextSiblingElement();
REPLACE=FirstPerson;
if (NULL==FirstPerson)
{
return str;
}
}
}
}