2010-06-22 12 views
2

J'ai plusieurs fichiers XML à analyser. Le problème est que j'ai seulement besoin de données dans les deux dernières lignes.Lire le fichier XML plus rapidement dans ASP.NET

J'utilise actuellement XMLTextReader et reader.ReadToFollowing ("DATANEEDED"); mais c'est encore trop lent. Est-ce que quelqu'un sait si je peux «queue» un fichier XML et lire à partir de là? (en tenant compte de la queue ne serait pas un fichier XML valide) ou d'autres moyens de récupérer les derniers nœuds dans le XML sans analyser le fichier XML entier?

J'utilise .NET 2.0 LINQ donc pas en construction :(

Merci

+0

Peut-être voir le constructeur surchargé '(Stream, XmlNodeType, XmlParserContext)' ... vous devrez peut-être positionner initialement le flux sur un élément valide - je ne sais pas - mais cela devrait vous déplacer aussi vite que possible le flux :-) –

Répondre

-1

XmlDocument est un meilleur choix. En son sein utiliser des requêtes XPath. Je suppose que XmlDocument prendre se soucie de la performance automatiquement.

+5

Vous devinez mal. L'utilisation de XMLDocument sera plus lente que XMLTextReader, en particulier pour les fichiers volumineux. –

+0

C'est ce que j'ai lu aussi. XMLTextReader semble être le plus rapide. –

+0

XmlDocument est beaucoup plus lent, voir par exemple http://www.nearinfinity.com/blogs/joe_ferner/performance_linq_to_sql_vs.html –