Salut,
Selon vous, quelle est la méthode la plus rapide pour trouver 2 éléments dans un fichier XML de 80Mo (ce pourrait être plus):
- XmlTextReader avec une boucle
- XPath
- Autre...
Merci de votre aide.
A+
Salut,
Selon vous, quelle est la méthode la plus rapide pour trouver 2 éléments dans un fichier XML de 80Mo (ce pourrait être plus):
- XmlTextReader avec une boucle
- XPath
- Autre...
Merci de votre aide.
A+
"Winter is coming" (ma nouvelle page d'accueil)
Avec XmlTextReader le document n'est pas chargé en mémoire, donc j'opterais pour cette solution à priori vu la taille des fichiers.
L'autre approche serait d'utiliser XPathDocument + XPathNavigator. Le document est chargé en mémoire mais en lecture seule (plus performant qu'un XmlDocument du fait de la lecture seule il me semble).
L'avantage de XPath c'est qu'il est plus simple de gérer la recherche, surtout si les critères peuvent changer.
A tester les deux méthodes pour voir laquelle te convient le mieux suivant les impératifs que tu peux avoir (vitesse du traitement, mémoire, ...).
Je suis d'accord sur l'utilisation d'un XmlReader ou d'un XPathNavigator. Je voulais simplement rectifier qu'ils sont plus performants du fait qu'ils ne chargent pas tout le document en mémoire, et non pas parce qu'ils sont en lecture seule.
My 2 cents.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Salut,
A prioris, c'est une citation de http://msdn.microsoft.com/fr-fr/libr...nt(VS.80).aspx
Qui sous entend que tout le document sera chargé en mémoire. Donc ce pourrait ne pas être la bonne solution.XPathDocument, classe
Fournit une représentation en mémoire, en lecture seule et rapide d'un document XML à l'aide du modèle de données XPath.
Il faut que je fasse des tests pour éclaircir tout ça.
Merci de votre aide.
A+
"Winter is coming" (ma nouvelle page d'accueil)
En fait, partout où on cherche sur internet la description qui revient pour le XPathDocument est "in-memory tree representation of an XML document" et d'ailleurs si on fouille dans la dll System.Xml.dll tout semble indiquer qu'à sa création il charge la totalité du fichier XML en mémoire avant d'en permettre l'accès. Bien sur il sera très rapide vu que tout est en mémoire. Donc pour un fichier de 80 Mo le XmlTextReader semble tout indiqué ...
Partager