La gestion des fichiers XML est très courante car ils ont une large application qui inclut le format de fichier dans les documents Microsoft Office et Google, les échanges de données B2B, etc. XmlDocument et XPathDocument sont différents moyens ou plutôt des espaces de noms pour gérer les fichiers XML. Mais, ils ont une approche différente et varient également d'une fonctionnalité à l'autre. L'utilisation de XmlDocument et XPathDocument dépend du nombre de fonctions que l'utilisateur doit exécuter avec un document XML particulier.
XmlDocument vs XPathDocument
La différence entre XmlDocument et XPathDocument est que XmlDocument a à la fois des capacités de lecture et d'écriture, tandis que XPathDocument ne peut lire que les fichiers au format XML. Étant donné que XPathDocument n'a aucune capacité d'écriture, il est de taille plus légère, mais il n'a pas la flexibilité de XmlDocument car plus de fonctions peuvent être exécutées dans ce dernier.
XmlDocument est défini comme une classe en mémoire qui représente le document XML. Les utilisateurs peuvent utiliser cette classe pour exécuter plusieurs fonctions telles que charger, valider, ajouter, éditer et positionner XML dans un document. XmlDocument implémente le W3C XML DOM (Document Object Model) Niveau 1 et Niveau 2 Core. XmlDocument permet à un XML de se charger dans le DOM, puis d'apporter les modifications nécessaires.
La classe XPathDocument fournit également une représentation en mémoire du document XML, mais contrairement à XmlDocument, elle ne permet aucune capacité d'écriture. XPathDocument fournit une fonctionnalité en lecture seule utilisant le modèle de données XPath. XPathDocument s'applique à la fois à.NET Core et à.NET Framework.
Tableau de comparaison entre XmlDocument et XPathDocument
Paramètres de comparaison | Document XML | XPathDocument |
Approcher | XmlDocument a une approche orientée objet. Cela consiste à créer et lier un objet à un fichier spécifique. | XPathDocument a une approche orientée données. |
Lire écrire | XmlDocument peut exécuter à la fois des fonctions de lecture et d'écriture, ainsi que l'ajout de nouveaux nœuds et la suppression de nœuds existants. | XPathDocument ne peut exécuter que la fonction de lecture et n'a pas la possibilité de modifier un document XML. |
La flexibilité | Étant donné que XmlDocument peut exécuter plusieurs fonctions telles que lire, écrire, supprimer, ajouter et modifier des attributs, il est très flexible. | XPathDocument n'est pas aussi flexible que XmlDocument car le premier ne peut lire que les fichiers XML. |
création de documents | XmlDocument est capable de créer un document à partir de zéro, puis d'y apporter des modifications. | XPathDocument ne peut pas créer de documents, l'utilisateur doit donc s'assurer que le fichier existe avant d'y accéder. |
Vitesse | XmlDocument n'est pas préférable lorsque les fichiers volumineux sont ouverts uniquement pour la lecture, car il ralentit le processus. | En raison de sa simplicité, XPathDocument peut ouvrir et lire rapidement des fichiers volumineux. |
Qu'est-ce que XmlDocument ?
La représentation en mémoire d'un document XML qui peut lire, écrire et modifier les attributs du fichier ainsi que la classe XmlDocument. Comme il remplit tant de fonctions, XmlDocument est généralement préféré à XpathDocument pour toutes les instances et objectifs généraux. Mais, XmlDocument ralentit le processus d'ouverture de très gros fichiers, ce qui en est un inconvénient.
Lors de l'ouverture d'un fichier XML dans le DOM, si cet emplacement de fichier particulier auquel l'utilisateur fait référence est vide, il génère un nouveau XML et le charge. C'est l'un des plus grands avantages de XmlDocument qu'il peut créer un nouveau fichier instantanément et y apporter des modifications.
XmlDocument permet à l'utilisateur de naviguer à travers les différents nœuds d'un fichier. Il peut accéder à la fois au nœud parent et enfant et peut également naviguer en avant et en arrière sur les nœuds frères. Lors de l'utilisation de XmlDocument, la chaîne de requête XPath est utilisée pour rechercher un ou plusieurs nœuds des données.
En plus de rechercher et d'accéder à divers nœuds de différents niveaux, XmlDocument peut également ajouter ou modifier les nœuds. Pour ajouter de nouveaux nœuds, la méthode CreateElement ou CreateNode est utilisée et pour supprimer la méthode RemoveChild est utilisée. Les positions des nœuds peuvent également être décalées selon la convenance.
Qu'est-ce que XPathDocument ?
La classe XPathDocument est bien connue pour sa représentation en mémoire en lecture seule des fichiers XML. C'est une classe très simple et n'exécute pas autant de fonctions sur les fichiers ou ses nœuds. XPathDocument peut lire des fichiers plus volumineux très rapidement et donc lorsque l'utilisateur n'a besoin de lire qu'un fichier XML, XPathDocument est préféré à XmlDocument.
Il existe plusieurs constructeurs pour le XPathDocument utilisés à diverses fins. Par exemple, XPathDocument(Stream) est utilisé pour initialiser une nouvelle instance de cette classe dans l'objet Stream. De même, XPathDocument(String) initialise également une nouvelle instance à partir des données XML mais pas spécifiquement dans l'objet Stream. Certains des autres constructeurs sont XPathDocument(TextReader), XPathDocument(XmlReader), etc.
Dans XPathDocument, la méthode CreateNavigator() est utilisée pour initialiser un objet XPathNavigator en lecture seule. Cela lit tous les nœuds existants dans le XPathDocument. La méthode equals (Object) est utilisée pour vérifier si l'objet spécifié est égal ou non à l'objet courant. Il existe également d'autres méthodes dans XPathDocument qui améliorent même ses fonctions limitées.
Principales différences entre XmlDocument et XPathDocument
Conclusion
XmlDocument et XPathDocument sont tous deux des représentations en mémoire des fichiers XML. Lorsque XmlDocument est choisi, cela signifie que plusieurs fonctions sont nécessaires pour modifier le document XML. À des fins de lecture seule, XPathDocument est préférable.
Lors de l'utilisation de XPathDocument, l'utilisateur doit être vigilant et doit donner une adresse valide pour le fichier XML. Parce que si le fichier n'existe pas, XPathDocument ne peut pas créer de fichier instantané pour gratter et implémenter les modifications.
De plus, si l'on ouvre un fichier XML à des fins de lecture uniquement, l'utilisateur doit utiliser la classe XPathDocument. La classe XPathDocument est capable d'ouvrir très rapidement des fichiers plus volumineux, ce qui permet de gagner du temps, tandis que XmlDocument convient à toutes les autres fins que la lecture de fichiers très volumineux.