Maison >Problème commun >Quelles sont les différences entre les technologies d'analyse XML ?

Quelles sont les différences entre les technologies d'analyse XML ?

hzc
hzcoriginal
2020-07-03 16:39:063817parcourir

Les technologies d'analyse XML incluent DOM, SAX et STAX. La différence est que les performances de DOM diminuent considérablement lors du traitement de fichiers volumineux. SAX est une méthode d'analyse XML basée sur les événements et ne nécessite pas de chargement. tout le fichier en une seule fois.

Quelles sont les différences entre les technologies d'analyse XML ?

1. DOM génère et analyse les documents XML
définit un ensemble d'interfaces pour la version analysée du document XML. L'analyseur lit l'intégralité du document et construit une structure arborescente résidant en mémoire, qui peut ensuite être manipulée par du code à l'aide de l'interface DOM
. Avantages : L'intégralité de l'arborescence du document est en mémoire, facile à utiliser ; prend en charge plusieurs fonctions telles que la suppression, la modification et le réarrangement ; Inconvénients : Le transfert de l'intégralité du document en mémoire (y compris les nœuds inutiles) fait perdre du temps et de l'espace ; il faut également accéder à ces données plusieurs fois ; les ressources matérielles sont suffisantes (mémoire, CPU).
2.SAX génère et analyse des documents XML
Pour résoudre le problème du DOM, SAX est apparu. SAX, piloté par les événements. Lorsque l'analyseur trouve le début d'un élément, la fin d'un élément, le début ou la fin d'un texte, d'un document, etc., il envoie des événements et les programmeurs écrivent du code qui répond à ces événements et enregistre les données. Avantages : Il n'est pas nécessaire de charger l'intégralité du document à l'avance et cela nécessite moins de ressources ; le code de l'analyseur SAX est plus petit que le code de l'analyseur DOM et convient aux Applets et aux téléchargements. Inconvénients : non persistant ; après l'événement, si les données ne sont pas enregistrées ; seul le texte peut être obtenu à partir de l'événement, mais on ne sait pas à quel élément appartient le texte ; Document XML Une petite quantité de contenu, rarement revisité ; moins de mémoire machine ;
3.DOM4J génère et analyse des documents XML
DOM4J est une très, très excellente API Java XML
, avec d'excellentes performances, des fonctions puissantes et fonctionnalités d'une extrême facilité d'utilisation, et c'est également un logiciel open source. De nos jours, vous pouvez constater que de plus en plus de logiciels Java utilisent DOM4J pour lire et écrire du
XML. Il convient particulièrement de mentionner que même JAXM de Sun utilise également DOM4J.
4. JDOM génère et analyse XML
Afin de réduire la quantité de codage pour DOM et SAX, JDOM est apparu comme étant avantageux : le principe 20-80, réduisant considérablement la quantité de code. Occasions d'utilisation : Les fonctions à implémenter sont simples, comme l'analyse, la création, etc., mais au niveau inférieur, JDOM utilise toujours SAX (le plus couramment utilisé), DOM,
documents Xanan.
Combien de formulaires y a-t-il dans la définition d'un document XML ? Quelles sont les différences essentielles entre eux ? Quelles sont les manières d’analyser les documents XML ?
Réponse : a : deux formes de schéma dtd, b : différence essentielle : le schéma lui-même est XML et peut être analysé par un analyseur XML (c'est aussi l'objectif fondamental du développement de schéma à partir de DTD), c : il existe des DOM , SAX, STAX, etc.
DOM : Ses performances chutent considérablement lors du traitement de fichiers volumineux. Ce problème est causé par la structure arborescente du DOM. Cette structure prend beaucoup de mémoire, et le DOM doit charger l'intégralité du document en mémoire avant d'analyser le fichier. Il convient à
un accès aléatoire à XML
. SAX : Non Désormais, dans DOM, SAX est une méthode d'analyse XML basée sur les événements. Il lit les fichiers XML de manière séquentielle sans charger l'intégralité du fichier en une seule fois. Lorsqu'il rencontre quelque chose comme le début du fichier, la fin du document ou le début et la fin d'une balise, cela déclenchera un événement
. L'utilisateur traite le fichier XML en écrivant le code de traitement dans son événement de rappel, ce qui. est adapté à l'accès séquentiel à XML

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn