Wenn ich anfangen Lernen XML-Parsing hat grundlegende Schritte. Ich implementiere alles für Sie.
In ViewController.h
Schritt 1:
First you have to add <NSXMLParserDelegate>
Schritt 2 die Delegierten Klassen hinzufügen: Erstellen notwendigen Objekte
NSXMLParser *parser;
NSMutableData *ReceviedData;
NSMutableString *currentStringValue;
NSMutableArray *arrayID;
Jetzt sieht es aus wie
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<NSXMLParserDelegate>
{
NSXMLParser *parser;
NSMutableData *ReceviedData;
NSMutableString *currentStringValue;
NSMutableArray *arrayID;
}
@end
Dann in ViewController.m
Schritt 3 - Ordnen Sie Ihre Array in Ihrem viewDidLoad Methode
arrayID = [[NSMutableArray alloc]init];
Schritt 4 - Verbindung erstellen in Ihrem viewDidLoad Wie
[self createConnection:@"http://www.google.com"]; //give your valid url.
Jetzt ist die viewDidLoad-Methode
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
arrayID = [[NSMutableArray alloc]init];
[self createConnection:@"http://www.google.com"]; //give your valid url.
}
Create Verfahren ist
-(void)createConnection:(NSString *)urlString
{
NSURL *url = [NSURL URLWithString:urlString];
// Step 5 - parser delegate methods are using NSURLConnectionDelegate class or not.
BOOL success;
if (!parser)
{
parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
parser.delegate = self;
parser.shouldResolveExternalEntities = YES;
success = [parser parse];
NSLog(@"Success : %c",success);
}
}
STEP 6 - NSXMLParserDlegate Methoden sind unter
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
NSLog(@"Current Element Name : %@",elementName);
if ([elementName isEqualToString:@"ID"]) //according to your xml response your id is Es_Id.So you need to compare @"Es_Id"
{
NSLog(@"The Result is==%@",elementName);
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentStringValue = [[NSMutableString alloc] initWithString:string];
NSLog(@"Current String Value : %@",currentStringValue);
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementName isEqualToString:@"ID"]) //according to your xml response your id is Es_Id.So you need to compare @"Es_Id"
{
[arrayResult addObject:currentStringValue];
}
currentStringValue = nil;
}
von oben Code prüfe ich ID only.According zu Ihrer Antwort müssen Sie andere Tasten vergleichen wie EstablishmentType, EstablishmentName, BusinessName, OpenTime .......
Was bist du loo König genau? Stellen Sie die XML-Datenstruktur und den von Ihnen geschriebenen Code bereit. –
@DipenPanchasara Das sind meine XML-Daten Sir ...Ich brauche diese XML-Daten zu speichern, in objektiv-C 8e268283-e87e-4abc-aab9-07cb611a8e60 40640054-2221-4086-92e4-4440497ccea2 EstablishmentType> La Parrilla kolumbianische Steakhouse & Bar EstablishmentName> La Parrilla kolumbianische Steakhouse & Bar Businessname> PT8H31M PT18H50M ClosingTime> 12. Stock –
Setzen Sie es in Ihre Frage mit dem richtigen Format, so kann man leicht unterschreiten. –