Hi, I'am currently trying to develop a small prototype where i tried using libxml parser. and i'am now facing a couple of problems while parsing. I think my understanding is not clear in those. i'am basically trying to read a xml configuration file , parse it and then use that data in my code. my xml doc looks something like this (docname2)( i formatted it now): <?xml version="1.0" ?> - <xmlbhas> - <protocolname>WAP1.2 - <layer>WSP - <parameter>Version <required>M</required> <size>2</size> </parameter> - <parameter>CapabilitiesLen <required>M</required> <size>2</size> </parameter> - <parameter>Capabilities <required>C</required> <size>C</size> - <condition> <name>CapabilitiesLen</name> <condvalue>size</condvalue> </condition> </parameter> </layer> </protocolname> </xmlbhas> in my code i use something like this (some imp lines of the sample code): xmlDocPtr doc2 = NULL; xmlNodePtr cur1 = NULL; xmlNodePtr tempnode1 = NULL; xmlNodePtr tempnode2 = NULL; xmlChar * nodevalue1; xmlChar * nodevalue2; doc2 = xmlParseFile(docname2); cur2 = xmlDocGetRootElement(doc2); cur2 = cur2->xmlChildrenNode->xmlChildrenNode; tempnode1 = cur2->xmlChildrenNode; nodevalue1 = xmlNodeListGetString(doc2, tempnode1->xmlChildrenNode, 1); tempnode2 = tempnode1->xmlChildrenNode; nodevalue2 = xmlNodeListGetString(doc2, tempnode2->xmlChildrenNode, 1); and when i print the value of nodevalue2, i thought that i would get the value "M" (the text in the "required" element) but i get a segmentation fault. I think tempnode2 became a null ptr. can anyone explain this is to me. I followed the example in the example dir in the libxml. Also being new to unix and especially makefiles, i just changed the existing makefile in the example dir for my program and teh ourput i get is a shell script. But i would prefer it to be an executable binary. what all do i need to change for this? it would be really great if someone can show that from teh makefile of example dir. Thanks and BR Bhaskar Maddala
Attachment:
InterScan_Disclaimer.txt
Description: Text document