aşağıda açıklanmıştır: NSXMLParser adında bir sınıf vardır
bu. XML dosyalarını ayrıştırmak için kullanılır. Ancak, NSXMLParser aptaldır. Tek yapılması gereken, XML ayrıştırmaktır, ancak bulduğu bilgilerle ne yapması gerektiğini bilmez.
Bir temsilci girin. Bir delege bir dadı gibidir. XMLParser'ın bulduğu bilgilerle ne yapacağına dair bir ipucu olmadığı için, her bir şey hakkında delege ve sorar: "Hey! Bir belgeyi ayrıştırmaya başladım! Bir şey yapmam gerekiyor mu?" "Hey! Bazı CDATA buldum! Ne yapmam gerekiyor!" "Hey! Başka bir etiket buldum!" "Hey! Bir kapanış etiketi buldum!", Vb. Bunların hepsi "Hey!" ifadeler temsilci yöntemleridir veya başka bir deyişle, bir temsilci nesnenin uygulamak için seçebileceği isteğe bağlı yöntemlerdir. Genellikle (ancak her zaman değil), NSXMLParser'ı oluşturan nesne de temsilci olur, ancak bu durumda olması gerekmez.
- (void)parserDidStartDocument:(NSXMLParser *)parser {
//the parser started this document. what are you going to do?
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {
//the parser found an XML tag and is giving you some information about it
//what are you going to do?
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
//the parser found some characters inbetween an opening and closing tag
//what are you going to do?
}
- (void)parserDidEndDocument:(NSXMLParser *)parser {
//the parser finished. what are you going to do?
}
bu bir sürü vardır:
NSXMLParser * parser = [[NSXMLParser alloc] initWithContentsOfURL:someURLToAnXMLFile];
[parser setDelegate:self];
[parser parse];
[parser release];
Sonra aynı nesneye (öz) 'de, bu yöntemlerden bazıları olabilir:
Yani böyle bir şey olabilir belgelerinde listelenen yöntemler. Sadece NSXMLParser sınıf başvurusuna gidin ve hepsi "Temsilci Yöntemleri" bölümünde listelenir. Bir kez asmak olsun, NSXMLParser kullanımı oldukça kolaydır. Bu, olay odaklı ayrıştırıcı olduğu anlamına gelen SAX Parser'dur. Bir şeyler bulur ve size bunu anlatır.
Çevrimiçi belgelerde ne anlam ifade etmiyor? – hhafez
Çalıştırmak için neyi geçersiz kılmam gerektiğinden emin değilim. – PF1
Geçersiz kılacak hiçbir şey yok. Ayrı bir nesne yaparsınız ve onu parser delegesini atarsınız. Bu nesnede, ayrıştırıcının ne bulduğunu size söyleyen belirli mesajlara (bazı zorunlu, bazı isteğe bağlı) yanıt verirsiniz. –