2011-12-17 10 views
0

イムこのXMLファイル解析しよう:http://www.ep.samico.dk/data2.xml をしかしNSXMLParserはエラーを返します(ドメイン・エラー5) イムのようなファイルを解析しようとするので、私は、そのため、ファイルの構造を考えますこれは:http://www.ep.samico.dk/data.xmlそれは問題なしで動作します..誰かが私に違うやり方を教えてもらえますか?NSXMLParserは文句を言わないXMLフィードを読ん

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

NSLog(@"Started parsing %@", elementName); 
} 

答えて

0

ご参照リンクはCDDATAタグが含まれています。..

私はあなたが別途CDDATAを処理するために必要と考えています。このデリゲートも実装し、そこでデータを処理する必要があります。

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock 
+0

あなたは間違ったファイルを見たと思います。私は間違っていますが、このファイル:http://www.ep.samico.dk/data2.xmlにはCDATAは含まれていません。私は間違っていますか?このファイルは解析に問題があります:http://www.ep.samico.dk/data2.xml – ebsp

0

NSXMLParserErrorDomainエラードメインのエラーコード5がNSXMLParserPrematureDocumentEndErrorあります。このエラーは、XMLデータが不完全であり、解析されたデータが空であるか、またはnilであるために一般的に発生することを意味します。

データの読み込み方法を確認する必要があります。 URL接続にエラーがある可能性があります。

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.ep.samico.dk/data2.xml"]]; 
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { 

    if (error) 
     NSLog(@"URL error: %@", error); 
    else 
    { 
     NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; 
     parser.delegate = self; 
     if (! [parser parse]) 
      NSLog(@"Parser error: %@", parser.parserError); 
    } 
}]; 
+0

if文を削除するとエラーは返されません。URLエラーを返します:(null) – ebsp

+0

パーサーは成功しましたか? XMLデータを解析するか、解析エラーが発生しましたか? –

+0

まだドメインエラーが発生しています(5) – ebsp

関連する問題