Image xml

Bonjour, je récupère actuellement les liens url pour les images dans un fichier xml.


Plus précisément dans la balise enclosure et url.


j'aimerais maintenant récupérer le lien dans une seule balise comme cette exemple :


 


<photo-1-moyenne><http://media.cdnws.com/_i/30871/m250-550/924/50/tiroir-carte-sim-iphone-4-4s.jpeg></photo-1-moyenne>


 


mais à  chaque fois c'est un (null) dans le NSLog... impossible de récupérer le lien...


 


Avez-vous une petite idée ?


 


Cordialement 


Julien 


 


 


Réponses

  • As tu essayer de faire un NSLog de ton NSData quand tu as fini la connexion ?


    Pour voir si ton xml téléchargé s'affiche bien comme il le faut ?


  • oui ça fonctionne mais quand je change de fichier xml qui utilise une seule balise pour le lien url de l'image ça ne fonctionne plus.


     


    avant j'utilisai ceci :



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

    currentElement = [elementName copy];

    if ([elementName isEqualToString:@produit]) {
    item = [[NSMutableDictionary alloc] init];
    currentImage = [[NSMutableString alloc] init];
    }

    if ([currentElement isEqualToString:@enclosure]) {

    [currentImage appendString:[attributeDict objectForKey:@url]];

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

    if ([elementName isEqualToString:@produit]) {
    [item setObject:currentImage forKey:@url];

    [items addObject:[item copy]];

    }
    }

    et maintenant :



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

    currentElement = [elementName copy];

    if ([elementName isEqualToString:@produit]) {
    item = [[NSMutableDictionary alloc] init];
    currentPhoto1 = [[NSMutableString alloc] init];
    }

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

    if ([elementName isEqualToString:@produit]) {
    [item setObject:currentPhoto1 forKey:@photo-1-moyenne];

    [items addObject:[item copy]];

    }
    }

    franchement je ne comprend pas...


  • oui pardon pour le xml


     


    c'est mieux :



    <?xml version="1.0" encoding="UTF-8"?>
    <produits>
    <produit>
    <reference-du-produit><![CDATA[TCSB4S]]></reference-du-produit>
    <nom-du-produit><![CDATA[Tiroir carte sim pour iPhone 4 et 4s]]></nom-du-produit>
    <description-courte><![CDATA[Tiroir d'origine qui permet de loger votre micro-SIM dans votre iPhone.]]></description-courte>
    <description-longue><![CDATA[Tiroir carte sim pour iPhone 4 et 4s.

    Tiroir d'origine qui permet de loger votre micro-SIM dans votre iPhone ]]></description-longue>
    <mots-cles><![CDATA[tiroir carte sim, Logement carte sim]]></mots-cles>
    <url-de-la-fiche-produit><![CDATA[http://www.mooveteck.com/iphone-4/pieces-detachees-iphone-4/tiroir-carte-sim-pour-iphone-4-et-4s.html?utm_source=test&utm_medium=cpc&utm_campaign=test-wizi]]></url-de-la-fiche-produit>
    <photo-1-moyenne><![CDATA[http://media.cdnws.com/_i/30871/m250-550/924/50/tiroir-carte-sim-iphone-4-4s.jpeg]]></photo-1-moyenne>
    <marque><![CDATA[Original]]></marque>
    <prix-affiche-ttc><![CDATA[2.50]]></prix-affiche-ttc>
    </produit>
    </produits>
  • AliGatorAliGator Membre, Modérateur
    Tu alloc/init ta variable currentPhoto1 dans le didStart et tu le mets dans un dico dans le didEnd mais si tu le remplis jamais aussi...


    Et puis c'est quoi cette variable currentPhoto1 ? Une variable locale ? D'instance ? Globale ? (Pitié non !) ca n'a pas l'air d'une @property en tout cas du coup qu'elle est sa memory policy? Bref pas clair ton histoire
  • effectivement je ne comprends pas moi même tout fonctionnait correctement avant...


  • AliGatorAliGator Membre, Modérateur
    Si tu comprends pas ton code, aussi...
  • oui j'essaye de me remettre dedans après 2ans... penses-tu pouvoir m'aider ? 


Connectez-vous ou Inscrivez-vous pour répondre.