extraire des donnees en provenance d'un NSString
ads
Membre
Bonjour,
j'ai deja utilise un NSXMLParser, mais ici meme si j'ai a faire a un service web, le fichier a un format qui me parrait peu conventionnel. Tout le texte est a la suite et un enregistrement ressemble a ca :
Donc la premiere chose que je veux faire c'est de "decouper" le NSString pour mettre les enregistrements dans un MutableString.
Et dans un deuxieme temps je veux traiter les champs suivants (je vous montre les sources et ce que je recupere) :
- pT(9.0333,-79.5) -> Long = 9.0333 et Lat = 79.5
- <b>San Miguelito, Panamà¡, Panama</b> -> city = @San Miguelito, Panamà¡, Panama
- > 8 May < -> date = 8 May
- p(423659) -> link = 423659
- img class=f -> img1 = f
- src=hm -> img2 = hm
Donc evidement deux questions :
Quelle fonction puis-je utiliser pour la separation des enregistrements ?
Quelle(s) fonction(s) puis-je utiliser pour extraire les champs ?
merci
j'ai deja utilise un NSXMLParser, mais ici meme si j'ai a faire a un service web, le fichier a un format qui me parrait peu conventionnel. Tout le texte est a la suite et un enregistrement ressemble a ca :
a(cM(pT(9.0333,-79.5),'','<div id=gm><b>San Miguelito, Panamà¡, Panama</b><br><img class=f src=hm> 8 May <a href="javascript:p(423659)">This is the Title</a> <a class=sim title="Related alerts" href=javascript:xP(423659)>&raquo;</a> <span class="small">(submitted by: smekaru) </span><br></div>','p6','The Record'));
Donc la premiere chose que je veux faire c'est de "decouper" le NSString pour mettre les enregistrements dans un MutableString.
Et dans un deuxieme temps je veux traiter les champs suivants (je vous montre les sources et ce que je recupere) :
- pT(9.0333,-79.5) -> Long = 9.0333 et Lat = 79.5
- <b>San Miguelito, Panamà¡, Panama</b> -> city = @San Miguelito, Panamà¡, Panama
- > 8 May < -> date = 8 May
- p(423659) -> link = 423659
- img class=f -> img1 = f
- src=hm -> img2 = hm
Donc evidement deux questions :
Quelle fonction puis-je utiliser pour la separation des enregistrements ?
Quelle(s) fonction(s) puis-je utiliser pour extraire les champs ?
merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pour séparer les lignes, la solution doit être là : Lire un fichier texte ligne par ligne
j'avais utilise componentsSeparatedByString pour extraire les enregistrements.
je vais essayer effectivement componentsSeparatedByCharactersInSet pour les champs pour voir si dans certains cas ca marche.
Je me demande pourquoi certains font des formats de fichiers aussi malpropres
toujours au top comme d'hab
Je dois etre sans doute tres fatigue en ce moment mais j'ai un soucis avec un scanUpToString qui me renvoie toujours une valeur true
en fait dans mon fichier a parser, je me rends compte qu'il y a du maitre detail (un lieu = X infos).
Le debut des infos detail commence tj par
donc si il y a 15 enregistrements details, ca va par contre , il me renvoie toujours true apres le 15 eme.
C'est la fonction qui a un soucis ou c'est moi qui est bogue ?
merci
non meme pas, je dois ensuite ananlyser la valeur de teststring car b est toujours a YES >:(
Faut bricoller autour quoi...
Donc au final pour tester si tu as consommé tous tes "<img", tu peux faire un scanUpToString:intoString: et ensuite, non pas vérifier la valeur de retour, mais regarder si la scanLocation est égale à la length de la string que tu scannes, donc regarder si tu es à la fin de la chaà®ne ou pas. Car dans ce cas pour le dernier il scanne bien des caractères, jusqu'à la fin de la chaà®ne (à défaut d'avoir trouver un "<img" pour l'arrêter), c'est pour ça qu'il retourne YES.
Merci encore AliGator