# probleme technique lecture fichier XML



## kazou_22 (9 Décembre 2009)

bonjour,
je me confronte a un problème de rapidité , je doit effectuer des recherche dans un fichier XML énorme ( plusieurs Go), j'ai bien essayé de le parser mais vous vous doutez que cela prend beaucoup de temps ( plusieurs minutes ) ce qui n'est pas tolérable au lancement d'une application.

quelqu'un aurai une solution ? requête ? ou autre ? 

merci d'avance


----------



## Céroce (9 Décembre 2009)

Non, pas de solution à part afficher une barre de progression au démarrage.

Je réponds par une autre question:
Comment se fait-il que tu aies un fichier XML énorme ??? Tu stockes des images en binaire dedans ou quoi ? C'est là qu'est ton problème, le XML n'est pas un format _efficace_ par définition, c'est un format qui cherche à être _interopérable_.


----------



## kazou_22 (10 Décembre 2009)

je récupère des flux de marchands pour faire un comparateur.
Donc j'ai un nombre de produit énorme.

moi j'ai penser a le parser une fois , le stocker dans une base de donnée ( type mySQL , SQlite ) puis ensuite faire des requete vers cette base pour afficher mes résultats.

qu'en penses-tu ?


----------



## [Vezøul]Numerø41 (10 Décembre 2009)

Je suis d'accord sur le fait qu'avoir un fichier XML de plusieurs Go c'est signe d'une très mauvaise architecture de la solution. Le mieux, comme tu semble le dire, ne serait pas d'avoir une base SQL accessible via le réseau que ton fournisseur de données met à disposition ou que toi tu mets à disposition pour qu'il vienne provisionner la base ?


----------



## kazou_22 (10 Décembre 2009)

en fait mon interet est que j'ai beaucoup de fournisseurs ( presque 50 ) donc leurs flux XML ne sont pas tous formaté pareil et donc moi je veux les insère dans ma base de donnée ( que j'héberge ) pour canoniser mes requêtes dans le code.

Mon problème principal : les requêtes MYSQL ( phpmyadmin) sont elle faisable en Objective C ?


----------



## [Vezøul]Numerø41 (10 Décembre 2009)

C'est faisable en C/C++ et Java, ObjectiveC étant un langage assez évolué et un peu répandu dans le monde du développement en entreprise (pour éditant pour Mac tout du moins) se serait bien dommage, voir inconcevable, que cela ne soit pas possible. Il doit exister une API quelque part permettant cela si ce n'est pas incorporé dans le SDK de base.    

PS: première recherche google et voilà la première API trouvée, bref ce n'est pas ce qui manque.


----------



## kazou_22 (10 Décembre 2009)

ok je vais me plonger la dedans.
Merci pour vos réponses 
bonne journée et mac powa


----------



## [Vezøul]Numerø41 (10 Décembre 2009)

kazou_22 a dit:


> mac powa



Non c'est l'inverse, PowerMac


----------



## kazou_22 (11 Décembre 2009)

merci pour ton exemple d'API , mais je débute un peu et je n'arrive pas a installer la framework, quand je compile le .xcodeproj sous xcode ca me génère beaucoup d'erreur  pourrai tu me guider ? ca serai super gentil de ta part


----------



## [Vezøul]Numerø41 (11 Décembre 2009)

Je suis actuellement au taff sur du Windows ou Linux (au choix). J'ai bien un mpb qui traine mais il est utilisé actuellement pour des tests.    

C'est quoi tes erreurs ? Quand à l'API que je t'es montré ce n'est qu'une parmi d'autres.


----------



## kazou_22 (11 Décembre 2009)

oui oui j'en ai essayé pas mal . le lien que tu me passe je peux meme pasl e compiler ( le marteau de build&go est non acccessible ) et si je fait build -> build  j'obtiens plein d'erreur j'ai fait un screenshot mais je peux pas le poster sur ce forum 
tu pourrai peu etre me donner une adresse de messagerie instanté ne message privé comme cela on regle tout et je peux t'envoyer le screen shot 


c'est du type : 
error: couldn't create directory /Volumes/MCPKit_src_3.0.1/build/Debug/MCPKit_system.framework/Versions: Read-only file system

c'est pas un reglage du compilateur ?


----------



## [Vezøul]Numerø41 (11 Décembre 2009)

Si tu te lance dans la programmation sans connaitre les bases d'un Unix, ce qu'est OSX, tu vas avoir beaucoup de mal. Tu essaie de compiler en mode debug dans un environnement où tu n'as pas les droits en écritures pour générer tes binaires. Donc déjà c'est mal barré pour réussir quoi que ce soit. Dans un premier temps connecte toi en mode administrateur ou récupère les droits en écriture sur ton volume ou répertoire de compilation.    

PS: non je n'ai pas de messagerie instantanée, je suis sûr un réseau sécurisé, enfin d'après l'administrateur réseau.


----------



## kazou_22 (11 Décembre 2009)

ok ca y-est , c'est parce que j'avais ouvert le fichier alors qu'il était encore en image disk....

j'ai encore 2 erreur par contre


error: The file Info.plist does not exist.

Command /Developer/usr/bin/gcc-4.0 failed with exit code 1


encore merci pour ton aide et ton temps précieux


----------



## [Vezøul]Numerø41 (11 Décembre 2009)

kazou_22 a dit:


> Command /Developer/usr/bin/gcc-4.0 failed with exit code 1



Celle-ci ne sent pas très bon. As-tu essayé en modifiant la version de gcc dans les options de XCode ?


----------



## kazou_22 (11 Décembre 2009)

non comment on fait ?


----------



## [Vezøul]Numerø41 (11 Décembre 2009)

Ca doit être dans les nombreuses options de XCode, peut-être préférences (je n'ai pas de mac sous la main), en tout cas à un moment tu peux modifier la version de gcc, tente une inférieur à mon avis.


----------



## kazou_22 (11 Décembre 2009)

et pour l'autre erreur ca vient du debuger ?


----------



## [Vezøul]Numerø41 (13 Décembre 2009)

Le plist il n'est pas sensé être créé ? Je connais bien GCC mais XCode je ne l'utilise que rarement.


----------



## grumff (14 Décembre 2009)

[Vezøul]Numerø41;5314713 a dit:
			
		

> PS: non je n'ai pas de messagerie instantanée, je suis sûr un réseau sécurisé, enfin d'après l'administrateur réseau.


Roh le nooob, tu connais pas les clients en web2 ? Ceux là ils sont pas prêt d'être filtrés.

Gaffe avec les parsers xml, y'en a de deux types, ceux qui reconstruisent l'arbre dom, et ceux qui lisent balise par balise. Si les premiers sont particulièrement pratiques, les perfs sont 100x meilleures avec la seconde catégorie.


----------



## [Vezøul]Numerø41 (14 Décembre 2009)

grumff a dit:


> Roh le nooob, tu connais pas les clients en web2 ? Ceux là ils sont pas prêt d'être filtrés.



Non mais au taff mon cher grumff, j'ai autre chose à faire que de discuter toute la journée avec pierre, paul ou jacky sur la présence ou non d'un mode LAN classique dans le futur SC2.


----------

