|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : février 2006 Messages : 493 ![]() |
Bonjour, j'ai récupéré un très gros fichier XML (de wikipedia).
D'un autre coté, j'ai un parser de fichier XML en PHP. Je ne connais pas du tout le XML ni son fonctionnement pour le moment... La question est la suivante : Dans le xml, chaque mot cle est séparé par <doc>...</doc> avec divers renseignement à l'intérieur. Ma question est la suivante ... Dois je parcourir tout le fichier XML pour trouver le resultat d'une recherche? Ou est ce que, avec le fichier qui parse, si je teste que "if($doc -> title =="hop"), il cherche directement ds la balises title et au bon endroit? Je suppose que non ce serait trop simple... Je suppose que je dois faire un algo de parcours par ordre alphabétique? Je voudrais juste éviter de parcourir tout le fichier si je cherche une "auto" comme mot clé par exemple :s |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : février 2006 Messages : 493 ![]() |
Ou alors importer dans une base mysql le fichier xml? possible? :d
|
|
|
00
|
|
|
#3 |
![]() ![]() Nicolas ValléeIngénieur Système Inscription : décembre 2005 Messages : 9 774 ![]() |
ça dépend pas mal du parser... lequel utilises-tu ?
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : février 2006 Messages : 493 ![]() |
Bah en fait, sur le site de wikipedia, ils proposent une manière de le faire avec un script perl mais ca fonctionne pas...
sur http://download.wikimedia.org/frwiki/20060527/ on peut trouver les différents fichiers. Celui qui correspondrait le plus a mes attentes est abstract.xml mais il faudrait que je mette ca ds la base sql... ce serait ennuyeux de parser un si gros fichier a chaque fois J'ai essayé d utiliser le parser perl mais ca a pas tres bien marcher... Je tente autre chose Je vais tenter autre chose |
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Inscription : septembre 2005 Messages : 925 ![]() |
en gros, (dsl si je me trompe) tu a 3 grande ecoloes de parser :
les DOM : tres pratiques, mais peu puissant si ton doc est tres gros (mais TRES preatique) les requetes X-PATH : on pourrait associer ca a des requetes SQL (j'ai jamais utilisé) le reste : qui es tplus lourd a gerer, generalement (le premier que j'ai utilisé générait 2 tableau recursif l'un pour l'autre, permettant de parser les balises et leurs attributs) en gros, meme si DOM est reputé peut performant, je te le conseil, a fdefaut de connaitre X-path |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Hansaplast, en effet, DOM charge le document xml en entier en mémoire sous forme d'objet.
Tu as oublié SAX qui travaille sur des "handlers" appelés à chaque noeuds de l'arbre xml |
|
|
00
|
|
|
#7 | |
|
Membre expérimenté
![]() Inscription : septembre 2005 Messages : 925 ![]() |
Citation:
donc, y'a SAX ausssi, plus performant que DOM, mais moins "convivial"... |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com