2010-08-05 6 views

Répondre

0

Je suis désolé, je ne peux pas vous donner un extrait maintenant, mais dans un projet, je l'ai fait il y a quelque temps, nous avons utilisé la bibliothèque touchXML.

http://code.google.com/p/touchcode/wiki/TouchXML

Avec cela, l'analyse syntaxique XML a été assez facile.

Bonne chance!

4

J'ai utilisé NSXMLParser et je l'ai réalisé. J'ai le fichier r.xml dans ma ressource. Je viens d'analyser le titre et affiché en utilisant NSXMLParser.

 r.xml: 

     <rss> 
     <eletitle > My Xml Program </eletitle> 
     </rss> 

Voici mon exemple de code est,

@interface:

NSXMLParser *rssparser; 

    NSMutableArray *stories; 
    NSMutableDictionary *item; 
    NSMutableString *currrentTitle; 
    NSString *currentElement; 

@implementation:

-(void) viewDidAppear:(BOOL) animated 
    { 
      [self parseXMLFileAtURL]; 
    } 

    -(void) parseXMLFileAtURL 
    { 
     stories = [[NSMutableArray alloc] init]; 

     NSURL *xmlURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"r" ofType:@"xml"]]; 
     rssparser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL]; 
     [rssparser setDelegate:self]; 
     [rssparser setShouldProcessNamespaces:NO]; 
     [rssparser setShouldReportNamespacePrefixes:NO]; 
     [rssparser setShouldResolveExternalEntities:NO]; 
     [rssparser parse]; 

    } 

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

    currentElement = [elementName copy]; 
    if([elementName isEqualToString:@"rss"]); 
    { 
     item = [[NSMutableDictionary alloc] init]; 
     currrentTitle = [[NSMutableString alloc] init]; 
    } 
} 


    -(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *) string 
    { 
      if([currentElement isEqualToString:@"eletitle"]) 
      { 
       [currrentTitle appendString:string]; 
      } 
     } 

     - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ 

     if([elementName isEqualToString:@"rss"]) 
     { 
      [item setObject:currrentTitle forKey:@"eletitle"]; 
      [stories addObject:[item copy]]; 
     } 
    } 

    - (void)parserDidEndDocument:(NSXMLParser *)parser 
    { 
       NSLog(@"The currrentTitle is %@",currrentTitle); 

    } 

Bonne chance.

Questions connexes