2009-09-02 10 views
0

je dois lire le XML:Quelle est la manière la plus rapide (exécution de code) d'exécuter une lecture XML?

<items> 
    <item> 
     <prop1>value1</prop1> 
     <prop2>value2</prop2> 
     <prop3>value3</prop3> 
    </item> 
    <item> 
     <prop1>value1</prop1> 
     <prop2>value2</prop2> 
     <prop3>value3</prop3> 
    </item> 
</items> 

Et mettre les valeurs dans un List<CLASS>.

Certaines options:

  • Utilisez XMLSerializer désérialiser à une liste
  • Utilisez XMLDocument pour lire chaque article en utilisant SelectNodes avec XPath et mettre les valeurs dans une liste
  • Utilisez XmlReader pour lire chaque nœud et mettre les valeurs dans une liste
  • Autre option ...
+0

Le plus rapide à quoi? Code, exécutez? – jro

+0

Le plus rapide à courir. – Zanoni

+0

Considérez soigneusement à quelle vitesse il doit être. Il y a généralement un compromis entre optimisation et facilité de maintenance. Si vous le profilez et trouvez qu'il y a un goulot d'étranglement, vous pouvez toujours essayer les différentes méthodes (n'oubliez pas LINQ, comme M. Diplo l'a mentionné) et les comparer. – TrueWill

Répondre

6

de loin le plus rapide que je voir n est d'utiliser XSD.exe pour créer un XSD et une classe pour l'utiliser, puis utiliser la sérialisation.

1

Une autre option serait d'utiliser LinqToXml.

-1

Si vous utilisez dotnet, installez le kit de démarrage WCF. Ensuite, vous aurez une option "Coller XML en tant que types", de sorte que vous pouvez couper le XML que vous cherchez à sérialiser dans le presse-papiers et collez-le dans le code comme un type sérialisable. Ensuite, vous pouvez juste sérialiser le XML et obtenir les valeurs à travers la classe.

Questions connexes