NSXMLParser解析器:解析xml时未触发didStartElement

Jau*_*me 0 xcode cocoa-touch objective-c xml-parsing ios5

我正在尝试解析xml文件并且没有错误,但在尝试读取它时,解析器:didStartElement事件未被触发.我做错了什么?感谢帮助.

- (void)viewDidLoad
        {
            [super viewDidLoad];

            // xml connect
            NSURL *url = [[NSURL alloc] initWithString:@"http://www.test.com/list.xml"];
            NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];

            //Start parsing the XML file.
            BOOL success = [xmlParser parse];

            if(success)
                NSLog(@"No Errors");
            else
                NSLog(@"Error!");
        }

        // reading xml...

        - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
          namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
            attributes:(NSDictionary *)attributeDict {

            if([elementName isEqualToString:@"main"]) {
                //Initialize the array.
                apps = [[NSMutableArray alloc] init];
            }
            else if([elementName isEqualToString:@"prog"]) {

                //Extract the attribute here.
                idUsuari = [attributeDict objectForKey:@"Id"];

                NSLog(@"ID: %@", idUser);
            }
        }
Run Code Online (Sandbox Code Playgroud)

jrt*_*ton 5

您尚未将视图控制器设置为XML Parser的委托:

[xmlParser setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

在你的alloc/init之后.如果没有这个,解析器就不知道将委托消息发送给谁.