I’m using a class written by a blogger that takes an XML string and spits out a NSDictionary.
It’s beautiful…works perfectly, but my tag is not parsed. since in that class he has used like below
NSString *const kXMLReaderTextNodeKey = @"text";
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
// Update the parent dict with text info
NSMutableDictionary *dictInProgress = [dictionaryStack lastObject];
// Set the text property
if ([textInProgress length] > 0)
{
[dictInProgress setObject:textInProgress forKey:kXMLReaderTextNodeKey];
// Reset the text
[textInProgress release];
textInProgress = [[NSMutableString alloc] init];
}
// Pop the current dict
[dictionaryStack removeLastObject]; }
Kindly please help me out how to fix this…
Thanks a lot
Note: Make sure the XML you’re parsing doesn’t contain a field named “text”! You can change it to a non-conflicting name by editing the kXMLReaderTextNodeKey constant at the top of XMLReader.m.
This is there in the BLOGGER Website. In XMLReader.m file you have
NSString *const kXMLReaderTextNodeKey = @"text";which conflicts with your xml tag<text>so either change your xml field tag from<text>to anything else orchange
NSString *const kXMLReaderTextNodeKey = @"text";to
NSString *const kXMLReaderTextNodeKey = @"textdata";After that use NSDictionary as routine code. Check it out and let me know.