[xml] xmlReaderForFile Crashes when called recursivelly for different files.... Please need immediate help..



Hi,

 

I am using the libXML to my load xml file. I am using the windows version

of the libXML, which I downloaded from http://www.zlatkovic.com/libxml.en.html.

I call the same function recursively to load the parent and alias xml files. I call this function

when an event occurs on a thread. The program crashes when I call xmlReaderForFile

for an alias in the main xml file. I mean it loads the parent xml successfully having the same alias xml,

but when it loads the alias for the main xml file it crashes.. COULD SOMEONE PLEASE HELP ME..

 

Code Snippet

===========

 

void loadConfiguration(string urlStr)

{

xmlInitParser();

      xmlTextReaderPtr reader = NULL;

      // XML_PARSE_NOCDATA, docs say it merges CDATA into #text.

      reader = xmlReaderForFile(urlStr.c_str(), NULL, XML_PARSE_NOENT | XML_PARSE_NOCDATA);

      if (reader)

      {

            int ret = xmlTextReaderRead(reader);

if (ret == 1)

      {

                  processNode(reader);

                  xmlChar* parentURI = getAttribute(reader, (xmlChar*)"parent");

            if (loadParentAlso && parentURI)

{

                        _parentConfigName = string((const char*)parentURI);

loadConfiguration(_parentConfigName));

            }

                  xmlChar* aliasURI = getAttribute(reader, (xmlChar*)"alias");

            if (loadParentAlso && parentURI)

{

                        _aliasName = string((const char*)parentURI);

loadConfiguration(_aliasName));

            }

 }

      }

 

      xmlFreeTextReader(reader);

}

 

void loadConfig(void *pData)

{

      loadConfiguration("sampleApp.xml");

}

 

int _tmain(int argc, _TCHAR* argv[])

{

      loadConfiguration("sampleApp.xml");

      _beginthread( loadConfig, 0, NULL );

getch();

      return 0;

}

 

 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]