Je pense qu'il est probablement important de demander Pourquoi utilisez-vous XML pour stocker 300k enregistrements?. Comme XML n'est pas le format le plus efficace pour manipuler les données. Si vous êtes bloqué avec XML, vous devriez lire le fichier XML dans une sorte de base de données (vous pourriez vous en sortir avec une table dans la mémoire, mais là encore vous pourriez manquer de mémoire). Je pense que si vous utilisez un objet TXMLDocument pour charger le fichier XML, vous aurez un sérieux problème de performance ou de mémoire (j'ai eu des problèmes quand je jouais avec un fichier xml 250k en arrière).
Vous pouvez utiliser le DOM MSXML directement (vous pouvez probablement importer la bibliothèque de types) ou utiliser SAX qui vous permettra de l'analyser séquentiellement, ce dont je n'ai pas beaucoup d'expérience.
Je viens de lire que Joel sur le post du logiciel, il est assez sur le sujet - même si elle a été écrite en 2001. – Alister