Hello guys I\'m looking for a way on the iPhone to parse an XML document using DOM. I have been using SAX with NSXMLParser but now I really want a DOM tree (or anything that
I suggest looking at the Google Data API for Objective-C (iPhone) at http://code.google.com/p/gdata-objectivec-client/
In particular, look at these files which define the GDataXMLNode class:
http://gdata-objectivec-client.googlecode.com/svn/trunk/Source/XMLSupport/
If you want to use libxml2
with an Objective-C front without SAX events, take a look at this useful set of wrapper functions.
You issue an XPath query to your XML document object and get back Foundation class objects: NSArray
, NSString
, and NSDictionary
, e.g.:
NSArray *queriedBuckets = PerformXMLXPathQuery(responseData, @"//*[local-name()='Buckets']/*[local-name()='Bucket']");
These functions help merge the speed of libxml2
with the readability and usability of Objective-C code.
Unfortunately, NSXMLDocument
(which does what you're asking) does not exist on the iPhone. You may have to roll your own parser using libxml2
, or try something like TouchXML or KissXML.