2009-11-13 5 views
-1

Qu'est-ce qu'un analyseur XML? combien de types de parseurs y a-t-il? quel est le meilleur analyseur XML pour analyser un document XML? comment fonctionne un analyseur XML? quelqu'un peut-il le dire brièvement?concernant l'analyseur xml

+1

Comment pouvez-vous poser cette question après avoir donné une réponse sur parseurs XML? http://stackoverflow.com/questions/1722140/how-can-i-parse-xml-using-java/1728265#1728265. Vous savez déjà clairement ce qu'est un parser et qu'il existe différents types. Troll? –

Répondre

1
  • Un XML Parser est un outil qui convertit XML en un objet accessible (EDIT: Suite aux commentaires) ou dans une série d'événements. Fondamentalement tout ce que vous pouvez utiliser pour consommer et agir sur des données XML

  • Pouvez-vous spécifier une langue pour les autres requêtes?

2

Un analyseur XML est, comme tout autre analyseur, un outil qui convertit d'une représentation de transport (texte, dans ce cas) à quelque chose que vous pouvez accéder à partir de votre code (dans ce cas, un arbre ou un série d'événements d'analyse, en fonction du type d'analyseur).

Il existe deux grands types de parseurs XML de nos jours: DOM parseurs qui créent un arbre d'objets en mémoire de la structure XML et parseurs série, tels que SAX.

Pour un analyseur DOM, l'analyseur doit lire l'ensemble du document XML et construire des objets en mémoire: nœuds d'arbre, nœuds d'attribut, etc. et les placer dans une arborescence appropriée représentant le fichier XML. Cela présente des avantages évidents, tels qu'un accès aléatoire sur l'ensemble de l'arborescence, mais présente également des inconvénients, notamment le fait que l'arborescence complète doit rester en mémoire, ce qui peut être assez important pour les fichiers volumineux et le fichier complet doit être analysé avant de pouvoir commencer à travailler sur les données elles-mêmes. SAX d'autre part est une approche en série qui scanne simplement le fichier XML et génère événements en fonction des éléments syntaxiques qu'il trouve, tels que le tag de départ, l'attribut, l'étiquette de fin, etc. Vous pouvez créer un arbre structure à partir de ces informations, mais généralement cette approche est beaucoup plus légère: vous pouvez commencer à travailler sur les données au fur et à mesure que le document est lu et analysé et que vous n'avez pas à attendre que tout soit terminé. Cependant, vous ne pouvez pas accéder à l'arbre entier si vous le souhaitez. Vous pouvez sauter en avant ou en arrière dans l'arborescence, etc.

L'approche idéale pour analyser un document XML dépend de vos besoins spécifiques. Si vous devez regarder des endroits arbitraires dans l'arbre à différents moments, alors DOM est évidemment le meilleur moyen. Cependant, si votre document XML a une structure qui se prête bien à la lecture du début à la fin sans avoir à revenir en arrière, alors SAX devrait fonctionner. Pour l'affichage XHTML par exemple, SAX serait la bonne approche, même si vous auriez toujours besoin d'un modèle d'objet en arrière-plan. Mais à des fins d'affichage unique, il suffit généralement de regarder quelles étiquettes entrent et de les restituer.

+0

qui est assez vieille info, vous l'avez probablement copié du wiki –

+0

Ouais c'est juste, juste parce que certaines personnes prennent le temps d'écrire des réponses plus longues, ils doivent avoir volé quelque part. Je ne dis pas que je connais le dernier et le meilleur de l'analyse XML. C'est tout simplement des informations de base que l'OP pourrait trouver sur WP ou ailleurs. En ce qui me concerne, tout ce que j'ai jamais traité avec XML était XSLT. Ce n'est rien que j'utilise quotidiennement ou même mensuellement, alors je m'excuse pour toute inexactitude.Mais m'accuser de le copier d'ailleurs n'est pas vraiment sympa. Je suppose que je devrais être content de ne pas avoir reçu de downvote ... – Joey

0

DOM et SAX parlent relativement, les anciennes technologies, pour les dernières vérifier Stax et VTD-XML