|
|||||||
| XML/XSL et SOAP Forum d'entraide sur XML et SOAP. Avant de poster -> FAQ XML, Sources XML |
|
|
Publicité ' | |||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 |
![]() ![]() Inscription : janvier 2003 Messages : 288 ![]() |
bonjour, quel est selon vous le meilleur parseur xml? Si vous ne savez pas, indiquez celui que vous avez l'habitude d'utiliser. Dans un message à la suite, vous pourrez préciser le langage (java, c#,c++,...), la plateforme (windows, linux), la raison de votre choix, etc...
__________________
"Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses." --Scott Adams |
|
|
10
|
|
|
#2 |
![]() ![]() erwan Développeur Web Inscription : novembre 2003 Messages : 4 980 ![]() |
je ne maitrise que msxml,mais je le connais trop pour le croire le plus interessant;ne serait ce que sa sale manie de générer le html qui lui plait et pas forcemment celui qu'on a ecrit(<br/> par exemple)
|
|
|
10
|
|
|
#3 |
|
Invité régulier
![]() Inscription : août 2004 Messages : 2 ![]() |
Bonjour à tous,
je pense qu'il faut réviser la liste des parseurs disponibles...il faut rajouter plus de parseurs DOM...personnellement, et après avoir tester qques uns, je vous conseille fortement le JDOM si vous utilisez une plateforme Java (application, Servlet, JSP...). les parseurs qui se reposent sur DOM sont nettement plus conviaux à mettre en place et à déployer que ceux de SAX ...www.jdom.org _________ wajdi elleuch |
|
|
10
|
|
|
#4 |
|
Membre actif
![]() Inscription : juillet 2004 Messages : 227 ![]() |
j'utilise libxml2 et je n'ai pas de problême particulier et (presque) rien à lui reprocher: léger, fiable, rapide, complet(SAX,DOM,HTML,FTP,XPath,...) et open-source, ce n'est qu'au niveau de la documentation que le bas blesse (pas assez d'exemple, certaines fonctions sont peu ou mal documentée).
je l'utilise en C/C++ (une version python existe) sous windows (disponible sous linux (gnome l'utilise)). non, vraiment, c'est une bonne librairie C pour XML ![]() *EDIT* j'ai 2 mains droites aujourd'hui |
|
|
10
|
|
|
#5 |
|
Invité régulier
![]() Inscription : août 2004 Messages : 2 ![]() |
Imm...pour un parsing plus rapide, il est évident que le SAX est meilleur que le DOM. Pour l'écriture de documents XML, il est évident d'utiliser DOM. Vous comprenez bien qu'un bon parseur devrait supporter SAX pour la lecture et DOM pour l'écriture d'un document XML. Des parseurs stables, fiables et free, c'est sans doute les produits d'Apaches (xerces).
Pour ceux qui cherchent un parseur de petite taille qu'ils peuvent déployer sur des plateformes win32, Linus, solaris, Sun...les parseurs open sources écrit en C/C++ sont les meilleures candidats. En effet, il est possible de modifier la bibliothèque, et d'enlever les composants dont on n'aura pas besoin..."libXML2" et "expat" sont de très bons produits pour ca... Pour répondre globalement à la statistique proposée en haut de cette page, je dirait qu'il n'y a pas un bon ou un mauvais parseur. Les parseurs sont variés et chacun est destiné à un besoin particulier...donc soyez sure de vos requirements avant d'en choisir un....cependant, soyer sure de choisir un produit mûr qui présente une bonne documentation ! __________ Wajdi Elleuch |
|
|
10
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 538 ![]() |
Bonjour,
après avoir utilisé MSXML 3.0 avec Visual Basic, je suis passé à Xerces/Xalan sous Java. Pas par dégoût, juste les circonstances... Mais je ne m'en plains pas, au contraire, pour les raisons suivantes : - Documentation sur internet très fournie - Accès au code source (non non, rigolez pas : j'en ai eu besoin une fois, pour écrire une extension ! - Facilité d'écriture des extensions Saxon me semble également intéressant puisqu'il est à l'heure actuelle le seul processeur à implémenter la version 2.0 de XSLT Mais les petits gars du groupe Jakarta (Apache) planchent sur la question pour Xalan, alors... [EDIT] vous avez du remarquer que je parle beaucoup de processeur XSLT alors que le thread porte sur les parseurs XML... c'est pas un début de sénilité, c'est que pour moi les deux fonctions sont indissociables
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
10
|
|
|
#7 |
|
Invité de passage
![]() Inscription : décembre 2004 Messages : 1 ![]() |
humm,
Le choix est délicat dans la mesure ou ces parseurs XML ne travaillent pas tous de la meme manière et donc auront des performances différentes suivants la taille du flux ou du fichier XML à parser. Pour les gros fichiers, d'après mes souvenirs il faut utiliser un parseur de type "push". |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Inscription : juillet 2002 Messages : 1 073 ![]() |
Je pense qu'il n'y a pas de bon ou de mauvais parser. Ca depend beaucoup de la façon dont on veut parser un document XML.
Perso, j'utilise JDom et Sax. Pour lire un fichier XML une fois, pour recuperer des info dans tout le doc, je parse avec Sax. Mais pour faire un singleton d'info d'un XML, j'utilise Dom et ca me permet d'utiliser les methode XPath, bien pratique, par exemple.
__________________
Modératrice [Java] [J2EE] "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre" |
|
|
10
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : mars 2004 Messages : 77 ![]() |
Et en PHP vous utilisierez quoi ?
|
|
|
10
|
|
|
#10 |
|
Invité de passage
![]() |
Si je ne me trompe pas, DOM4J n'est pas un parseur, puisqu'il se base sur le parseur installé sur la machine.
En php il y a LibXML2 avec php5 qui est un très très bon choix, ou Sablotron avec PHP4 qui est lui un très très mauvis choix... (Dificulté à passer en version stable, enormement de bugs ouverts). |
|
|
10
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 4 ![]() |
Y a t'il un parseur pour creer des classes java à partir d'un fichier XML ?
Et non pas pour instancier par rapport à une classe deja existante, mais pour pour creer le fichier .java ou . class. Merci de vos reponses Yannick |
|
|
10
|
|
|
#12 |
![]() ![]() Inscription : avril 2003 Messages : 930 ![]() |
Salut,
je suis assez novice en matière de parseur, je commence tout juste mais il me semble que XMLbeans le fait. ça te génère des classes Java à partir des balises de ton fichier XML. Vous confirmez ? |
|
10
|
|
|
#13 |
|
Invité régulier
![]() |
J'ai utilisé la librairie libXML2 et sa compagne libXSLT qui couvre les standards XML et XSLT. Elle est très rapide et facile d'utilisation, petit bémol la documentation qui manque d'exemples mais les noms de fonctions et structures disponibles sont très explicites.
Elle dispose pour moi du parser XML idéal pour le C. Je vous la recommande. |
|
|
10
|
|
|
#14 |
|
Membre chevronné
![]() |
Pour ma part et ma petite expérience pour le moment j utilise msxsl...et c est d ailleurs pour cela que je ne vais pas voté pour lui,
en effet il m ' est arrivé que lorsque j ai du écrire une expression XPATH avec beaucoup (c est relatif evidemment) de caracteres "[ ]"...des prédicats en somme, et bien il a planté... il suffisait alors de mettre des espaces et tout remarchait bien... quant aux autres j ai entraperçu Xerces qui m a l air super interessant avec bcp de fonctions apportés mais je ne connais pas encore assez pour voter pour lui.. |
|
|
10
|
|
|
#15 | |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 2 ![]() |
Citation:
tu peux regarder du coté de xmlbeans, qui cree les classes a partir d'un schema xml (DTD). Pour le faire directement entre un fichier xml, sans schema, je doute que tu trouve, car il faut pouvoir faire un binding entre les valeurs xml et les valeurs java. sinon pour repondre au vote, au niveau du parsing brute, j'utilise soit Dom4J pour sa simplicité, soit Stax (pull parser) pour ses performances. |
|
|
|
10
|
|
|
#16 |
|
Membre Expert
![]() Inscription : avril 2006 Messages : 1 024 ![]() |
Je pense qu'il n'est pas judicieux de demander de choisir entre les parseur DOM et SAX, ils ne sont pas fait pour la même chose. C'est un peut si on demandais de choisir entre une voiture et un camion, tout dépend de ce que l'on veux faire.
le DOM: charge tout en mémoire. il est adapté lorsqu'on veux faire des opérations complexes sur des fichiers relativement petit, l'avantage d'avoir tout en mémoire est qu'on peut manipuler toute la struture de manière très souple, le XML est un peut une grosse variable. Mais il ne faut surtour pas s'en servir pour traiter des gros volumes, comme de l'export ou de l'intégration massive en base de donnée. Du fait de sa vision "globale" du fichier, les performance deviennent vite catastrophiques. Le SAX: Fonctionne en mode séquentiel. Il est adapté lorsqu'on veux traiter des gros volumes de données sans faire de traitement trop subtil. Le defaut est qu'on ne sait qu'a la fin si un fichier est valide ou non, mais pour des traitements volumineux, l'utilisation de SAX est obligatoire... |
|
|
10
|
|
|
#17 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 201 ![]() |
Bonjour à tous.
J'ai utilisé une librairie intégré à jBuilder qui s'appelle Castor. C'est un parseur Xml qui charge tous les éléments et attributs d'un fichier xml a partir d'une dtd ou d'un schéma dans des classes java. Je voulais savoir si castor était basé sur Sax ou sur Dom? Merci Laurent |
|
|
10
|
|
|
#18 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 1 ![]() |
J'ai eu récemment l'occasion d'essayer StAX XML. C'est une API qui se veut plus simple que SAX, tout en gardant une très faible empreinte en mémoire. Grâce à StAX, le développeur à beaucoup plus de contrôle sur le parsing, car c'est un "pull parser". C'est l'application qui demande les données aux parser, alors que dans SAX ou DOM, c'est le parseur qui fourni les données à l'application. (Plus de détails : http://www.naramski.net/?p=8
J'ai aussi vu que AXIOM est une librairie, basée sur StAX, qui permet de beaucoup simplifier le parsing d'un fichier de donnée. Mais je n'ai pas eu l'occasion de l'utiliser. Si je devais parser de nouveaux documents, j'utiliserais certainement StAX ou AXIOM, surtout que StAX est maintenant inclus comme un standard Java (inclus dans la version Java SE). |
|
|
10
|
|
|
#19 |
|
Membre émérite
![]() Inscription : mars 2008 Messages : 875 ![]() |
Moi j'utilise DOM la plupart du temps ... et parfois SAX lorsque je dois traiter plusieurs documents xml "mal placé" dans la meme feuille car les XPATH dynamique ca existe pas :s:s:s:s:s:s
|
|
|
10
|
|
|
#20 |
|
Membre du Club
![]() |
l'api JDOM avec DOM et SAX fai un bon boulot
|
|
|
10
|
Copyright © 2000-2013 - www.developpez.com