December 2012
Intermediate to advanced
834 pages
27h
English
You want to parse an XML snippet or document.
Use the NSXMLParser
class.
The NSXMLParser uses a delegate
model to parse XML content. Let’s go ahead and create a simple XML file
that contains the following data (save this file as MyXML.xml in your project):
<?xml version="1.0" encoding="UTF-8"?>
<root>
<person id="1">
<firstName>Anthony</firstName>
<lastName>Robbins</lastName>
<age>51</age>
</person>
<person id="2">
<firstName>Richard</firstName>
<lastName>Branson</lastName>
<age>61</age>
</person>
</root>Now define a property of type NSXMLParser:
#import <UIKit/UIKit.h>@interfaceParsing_XML_with_NSXMLParserAppDelegate:UIResponder<UIApplicationDelegate,NSXMLParserDelegate>@property(nonatomic,strong)UIWindow*window;@property(nonatomic,strong)NSXMLParser*xmlParser;@end
You can also see that I have defined my app delegate as an XML parser delegate by conforming to the
NSXMLParserDelegate protocol, which
is required for a delegate object of an XML parser of type NSXMLParser. Now let’s read the MyXML.xml file from the disk and pass it to
your XML parser:
-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{NSString*xmlFilePath=[[NSBundlemainBundle]pathForResource:@"MyXML"ofType:@"xml"];NSData*xml=[[NSDataalloc]initWithContentsOfFile:xmlFilePath];self.xmlParser=[[NSXMLParseralloc]initWithData:xml];self.xmlParser.delegate=self;if([self.
Read now
Unlock full access