[xml] please help me

I met one problem in reading string type of data from xml files.The problem is like this:
I need to read the data from xml files,
        <train number = "su1">
                <train_type> x2000 </train_type>
                <departure_hour> 5</departure_hour>
        <train number = "sub2">
        <train number = "sub3">

Using<libxml/parser.h>,there is one problem that really confuses me.
I use one structure to save the data read from xml. The data type of 'int' 'double' can save correctly. For instance, <departure_hour> 5</departure_hour> can be correctly saved into the structure. but the type of string always have some mistake.I can only read successfully the first strings data(<train number = "su1">),after that
all the strings data were wrong ,even when I check
if ((!xmlStrcmp(cur->name, (const xmlChar *)"train_route"))) {
        key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
        route1_list.back().train_route=(char*)key;//using deque
printf("%s!!!!!\n",route1_list.back().train_route);//this is right when reading
        printf("%s: %s\n",cur->name, key);//this is right

the reading was correct, but the finally when I print all the member of structure ,the string type of data is mess. I have check my program many times, and could not solve it. Would you do me a favour to help me?



Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail

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