2010-10-31 5 views
0

quand devrais-je aller pour Expat parser plutôt Dom Parser et vice versa? Quelle est la différence entre ces analyseurs?Expat Parser vs Dom Parser en php

+0

duplication possible de [Best XML Parser pour PHP] (http://stackoverflow.com/questions/188414/best-xml-parser-for-php) – Gordon

Répondre

0

Les fonctions xml_parser_ vous fournissent un flux de rappels de style SAX lorsque le fichier est consommé. C'est à vous de les manipuler ou de les stocker de façon appropriée à mesure qu'ils entrent, linéairement dans l'ordre des documents.

(XMLReader est un autre analyseur série accès à un impératif plutôt que l'interface basée sur des événements, ce qui peut être particulièrement utile pour les formats de données plus rigidement définies.)

Les DOMDocument chargeurs lire le contenu XML entier dans la mémoire et vous donne un moyen simple comme un objet d'interroger n'importe quelle partie du document. Pour les tâches à accès aléatoire, c'est beaucoup plus facile à gérer, mais c'est aussi beaucoup moins efficace pour les documents volumineux.

1

Expat est un analyseur syntaxique SAX.

Voici une comparaison entre SAX et analyseur DOM

SAX:

  1. Ne pas charger le XML en mémoire

  2. haut en bas traversant

  3. Event Driven et de travaux incrémentalement.

DOM:

  1. charges XML en mémoire. D'où plus de mémoire.

  2. Traverser dans n'importe quelle direction.