basically im looking for something that will just turn xml into an nsdictionary hierarchy.
On the iPhone, the way to do XML parsing is to use the NSXMLParser class, which takes a delegate (a.k.a. visitor) object of type NSXMLParserDelegate which gets invoked as different parts of the XML tree are visited. So, you can create a delegate that stores away the information into a dictionary. That said, most likely you won't care about everything in the XML that you parse, which is exactly why these parsing mechanism exists; you can create delegate that stores just the bits you want, which is faster and more memory efficient than adding a new dictionary entry for everything even if you never use it.
Hey Nick, I wrote an XML to NSDicitonary converter you might find useful:
http://troybrant.net/blog/2010/09/simple-xml-to-nsdictionary-converter/