2009-09-12 11 views
0

Comment puis-je charger des données à partir d'un fichier xml dans un DataTable avec une condition?Comment charger des données à partir de xml avec condition?

+0

Chargez les données, filtrez-les, mettez-les dans votre base de données ... – PhiLho

+0

** XPath ** vous permet de le faire, mais veuillez fournir plus de détails. –

+0

voulez remplir les données dans datatable à partir du fichier XML avec certaines conditions? –

Répondre

1

Vous ne pouvez pas appliquer une condition lors du chargement des données.

Vous pouvez facilement charger un fichier XML dans un DataTable, puis soit

  • créer un DataView sur DataTable pour vous montrer que les lignes qui vous intéressent
  • boucle
  • sur DataTable et supprimer les lignes indésirables

Marc

+0

ok merci beaucoup –

0

loin façon de le faire le plus simple est de filtrer les données après avoir lu dans un DataTable. Mais cette approche peut ne pas être idéale si, par exemple, le fichier XML est extrêmement volumineux et l'ensemble des lignes filtrées est petit: vous encourez les coûts en temps et en espace d'allocation, de traitement et de destruction d'un très grand nombre d'objets obtenir un petit nombre d'entre eux.

Il y a un moyen de contourner cela, mais ce n'est pas trivial: sous-classe XmlReader. Effectuez le filtrage dans la sous-classe lors de la lecture du code XML, en ne renvoyant que les nœuds répondant à vos critères de filtrage à l'appelant de la méthode Read().

This MSDN article décrit comment écrire un XmlReader qui permet (par exemple) XmlDocument de lire des fichiers .INI comme s'il s'agissait de documents XML. Il est en fait plus facile d'écrire un filtrage XmlReader, comme vous n'avez pas à traiter tous les problèmes d'analyse décrits dans cet article - vous avez juste votre sous-classe XmlReader instancier son propre XmlReader, puis retourner (ou ne pas) nœuds qu'il lit.

Questions connexes