我正在使用 expat 读取 xml 文件。我想从xml文件中指定的配置中填充我的一些类成员变量。我已经定义了我的 startelement 处理程序,
void Start(void *data,const XML_Char *el, const XML_Char **attr)
这将被引用如下:
XML_SetElementHandler(parser,Start, NULL);
目前我正在使用全局结构,g_stConfigInfo
将所有值存储在Start()
例如,
void Start(void *data,const XML_Char *el, const XML_Char **attr)
{
if( _tcscmp(el,_T("blah"))==0 )
{
for (int i=0; attr[i]; i+=2)
{
if(_tcscmp(attr[i],_T("name"))==0)
{
g_stConfigInfo.sInputName = attr[i+1];
}
.........
然后我在做myclass.sInputName = g_stConfigInfo.sInputname
我宁愿不使用全局变量,而是能够使其成为需要填充其成员变量的类的成员函数。我也不想在 Start() 中有这个类的实例。这样做的最佳方法是什么?