Well,
I have googled it a lot, and came across many solutions which vary from situation to situation.
NSXMLParser, its a SAX parser, so it only traverse and do not store the data. It is very slow as well.
TouchXML, its a DOM parser, and so it stores the data after parsing, searching of any node so much easier. And its faster as well. But in case of very large XML documents, its not a recommended solution.
KissXML, Its based on TouchXML although it goes further. TouchXML allows you to read XML, while KissXML allows you to both read and write XML.
As in my case i do need to write the xml, but i need to keep the xml data and use frequently on various spots in app. So i am going to use TouchXML.
For more information, i found some links also,
http://www.71squared.com/2009/05/processing-xml-on-the-iphone/
http://www.cocoaism.com/tag/touchxml/