XMl weergeeft niet in xcode/objective C discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Ik gebruik de volgende code in de .m file (stuk code met parser): Code: - (void)parserDidStartDocument:(NSXMLParser *)parser{ NSLog(@"File found and parsing started"); } - (void)parseXMLFileAtURL: ...
|
Registreer | FAQ | Ledenlijst | Kalender | Berichten van vandaag | Zoeken |
#1
|
|||
|
|||
XMl weergeeft niet in xcode/objective C
Ik gebruik de volgende code in de .m file (stuk code met parser):
Code:
- (void)parserDidStartDocument:(NSXMLParser *)parser{ NSLog(@"File found and parsing started"); } - (void)parseXMLFileAtURL: (NSString *)URL;{ NSString *agentString = @"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1"; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:URL]]; [request setValue:agentString forHTTPHeaderField:@"User-Agent"]; xmlFile = [ NSURLConnection sendSynchronousRequest:request returningResponse: nil error: nil ]; articles = [[NSMutableArray alloc] init]; errorParsing= NO; rssParser = [[NSXMLParser alloc] initWithData:xmlFile]; [rssParser setDelegate:self]; // You may need to turn some of these on depending on the type of XML file you are parsing [rssParser setShouldProcessNamespaces:NO]; [rssParser setShouldReportNamespacePrefixes:NO]; [rssParser setShouldResolveExternalEntities:NO]; [rssParser parse]; } - (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError { NSString *errorString = [NSString stringWithFormat:@"Error code %i", [parseError code]]; NSLog(@"Error parsing XML: %@", errorString); errorParsing=YES; } - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ currentElement = [elementName copy]; ElementValue = [[NSMutableString alloc] init]; if ([elementName isEqualToString:@"intro"]) { item = [[NSMutableDictionary alloc] init]; } } - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ [ElementValue appendString:string]; } - (void)parserDidEndDocument:(NSXMLParser *)parser { if (errorParsing == NO) { NSLog(@"XML processing done!"); } else { NSLog(@"Error occurred during XML processing"); } } Code:
#import <UIKit/UIKit.h> @class ontfsViewController; @interface artikels : UIViewController { ontfsViewController *detailViewController; IBOutlet UIWebView *errorView; //xml NSXMLParser *rssParser; NSMutableArray *articles; NSMutableDictionary *item; NSString *currentElement; NSMutableString *ElementValue; BOOL errorParsing; } @property (nonatomic, retain) IBOutlet ontfsViewController *detailViewController; @end Code:
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. [self parseXMLFileAtURL:[NSURL URLWithString:@"http://***.com/app/get_recent_posts.xml"]]; } Code:
2011-12-11 17:35:22.820 [18712:f803] File found and parsing started 2011-12-11 17:35:22.821 [18712:f803] title 2011-12-11 17:35:22.821 [18712:f803] title 2011-12-11 17:35:22.822 [18712:f803] title 2011-12-11 17:35:22.822 [18712:f803] title 2011-12-11 17:35:22.823 [18712:f803] XML processing done! in de .xib file heb ik niks toevoegt aan 'view' omdat ik simpelweg niet weet welk object ik moet gebruiken voor de weergave en of dit wel nodig is. Weet iemand wat ik over het hoofd zie of vergeet? In tabel weergeven. Update: Citaat:
|
|
|
Gesponsorde links (verdwijnt na registratie)
|
#2
|
|||
|
|||
Allereerst: je declareert je eigen functies niet in je header file.
Ten tweede: je header conformeert niet aan het NSXMLParser protocol. Ten derde: waarom "artikels : UIViewController {" ? Gebruikelijk is "ontfsViewController : UIViewController {" in de header. Ten vierde: je gebruikt geen logische user agent, is een klein detail. Ten vijfde: zie aanpassing van je functie hieronder EDIT: Code:
- (void)parseXMLFileAtURL: (NSURL *)URL{ NSString *agentString = @"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1"; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: URL]; [request setValue:agentString forHTTPHeaderField:@"User-Agent"]; xmlFile = [ NSURLConnection sendSynchronousRequest:request returningResponse: nil error: nil ]; articles = [[NSMutableArray alloc] init]; errorParsing= NO; rssParser = [[NSXMLParser alloc] initWithData:xmlFile]; [rssParser setDelegate:self]; // You may need to turn some of these on depending on the type of XML file you are parsing [rssParser setShouldProcessNamespaces:NO]; [rssParser setShouldReportNamespacePrefixes:NO]; [rssParser setShouldResolveExternalEntities:NO]; [rssParser parse]; } Heb nog niet verder gekeken, maar probeer dit eerst eens: Code:
#import <UIKit/UIKit.h> @interface ontfsViewController : UIViewController <NSXMLParserDelegate> { ontfsViewController *detailViewController; IBOutlet UIWebView *errorView; //xml NSXMLParser *rssParser; NSMutableArray *articles; NSMutableDictionary *item; NSString *currentElement; NSMutableString *ElementValue; BOOL errorParsing; } @property (nonatomic, retain) IBOutlet ontfsViewController *detailViewController; - (void)parseXMLFileAtURL: (NSURL *)URL; @end Laatst gewijzigd door DJ14; 11-12-11 om 20:00. |
#3
|
|||
|
|||
Citaat:
Moet het volgende zijn toch? Citaat:
en: uit je edit: Citaat:
|
#4
|
|||
|
|||
Probleem "verholpen" via iChat.
|
Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten) |
|
Soortgelijke discussies |
||||
Discussie | Auteur | Forum | Reacties | Laatste bericht |
XML Parser | Dreissen | Ontwikkelen voor iOS | 5 | 17-11-10 16:24 |
Xcode niet meer gratis? Heb ik iets gemist? | icepick | Ontwikkelen voor iOS | 4 | 25-06-10 10:45 |
XML parser het lukt niet helemaal | Dreissen | Ontwikkelen voor iOS | 17 | 25-05-09 16:53 |
.xml op iphone | Maximilius | Archief | 1 | 12-12-08 21:23 |
Iphone display kapot (niet het beeldscherm maar wat het weergeeft) | sfenn | Archief | 7 | 06-12-08 12:57 |
|
|