我有以下 XMLParser,但是当我尝试运行它时,它无法正常工作。
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementname isEqualToString:@"results"])
{
currentJob = [SearchResult alloc];
}
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"jobTitle"])
{
currentJob.jobTitle = currentNodeContent;
}
if ([elementname isEqualToString:@"location"])
{
currentJob.shortAddress = currentNodeContent;
}
if ([elementname isEqualToString:@"companyName"])
{
currentJob.employer = currentNodeContent;
}
if ([elementname isEqualToString:@"results"])
{
[self.jobs addObject:currentJob];
currentJob = nil;
currentNodeContent = nil;
}
}
这是我的 foundCharakter 方法:
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
输出不是从头开始,而是从字符串的中间开始......我只是不明白,为什么有些结果看起来不错,而有些结果却没有。
我究竟做错了什么 ?如何正确解析 xml?
任何帮助将不胜感激。
提前谢谢