is my parsing done correctly?
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *responseString = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding];
NSString * newStr = [NSString stringWithUTF8String:[self.responseData bytes]];
[self parseXML];
}
- (void) parseXML
{
NSLog (@"parseXML");
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:self.responseData];
[xmlParser setDelegate:self];
myMasterList = [[MasterList alloc] init];
if (![xmlParser parse])
{
NSLog (@"An error occurred in the parsing");
}
}
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
NSLog (@"parserDidStartDocument");
inItemElement = NO;
}
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
NSLog (@"parserDidEndDocument");
}
// Called when the parser encounters a start element
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@"str_smartsearch"])
{
inItemElement = YES;
}
capturedCharacters = [[NSMutableString alloc] initWithCapacity:50];
capturedCharacters = [[NSMutableString alloc] initWithCapacity:250];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementName isEqualToString:@"description"])
{
myMasterList.masterDecript = capturedCharacters;
NSLog(@" decription:%@", capturedCharacters);
}
if ([elementName isEqualToString:@"onhand"])
{
myMasterList.masterOnHand = capturedCharacters;
}
if ([elementName isEqualToString:@"price"])
{
myMasterList.masterPrice = capturedCharacters;
}
if ([elementName isEqualToString:@"itemno"])
{
myMasterList.masterItem = capturedCharacters;
[masterArray addObject:myMasterList];
myMasterList = nil;
}
capturedCharacters = nil;
if ([elementName isEqualToString:@"str_smartsearch"])
{
inItemElement = NO;
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSMutableString *)string
{
if (capturedCharacters != nil)
{
[capturedCharacters appendString:string];
}
else
{
[capturedCharacters isEqual:string];
}
}
I've token out the NS logs and such, to make it easier to read. i've been stuck on this for while.
all i need is for it to show up on my master tableview and iill basically be done with this app.



Sign In
Create Account








