Ваш XML неверен, поэтому я приведу пример с чем-то вроде этого:
<title>
<Text>some text</Text>
<Dog>founded characters to parse</Dog>
</title>
Вам нужно реализовать три метода делегата, и вы захотите создать переменную для хранениятекст в том виде, в котором он обнаружен:
Заголовок
@property (nonatomic, retain) NSMutableString *currentValue;
Реализация
- (id) init
{
if( (self = [super init]) )
{
NSMutableString *value = [[NSMutableString alloc] initWithCapacity:500];
self.currentValue = value;
[value release];
}
}
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
[self.currentValue setString:@""]; // Clear your string at the start of each tag
}
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
[self.propertyValue appendString:string]; // append characters, this can be called multiple times
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
{
NSString *value = [self.propertyValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if( [elementName isEqualToString:@"dog"] ) {
dog.someProperty = value;
return;
}
if( [elementName isEqualToString:@"text"] ) {
currentTitle.title = value;
return;
}
}
Таким образом, вам необходимо реализовать didStart, foundCharacters и didEnd.На didStart вы обрабатываете создание любых объектов-значений в зависимости от того, какой тег вы найдете.Найденные символы обычно всегда реализуются одинаково, вы просто добавляете их ... вы также можете применить любое форматирование, если хотите.Конец - это то, где вы сохраняете свои объекты ценности и освобождаете любые ресурсы.Я надеюсь, что это поможет вам, это все часть протокола NSXMLParserDelegate:
http://developer.apple.com/library/ios/#documentation/cocoa/reference/NSXMLParserDelegate_Protocol/Reference/Reference.html