Chinese (People's Republic of China)  English  Français


Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo



Projets
  Dernier Projet
  Les plus populaires
  Tous les Projets

246 Visiteurs
3168 Projets


My Supinfo-Projects

   Connectez-vous
   Créez un Compte


Synopsis

   90 Visites
   Note INTERNET : 19.3
    (3 Votants)
   0 Commentaires

   Lire l'article

Evaluez cet article

20
18
16
14
12
10
8
6
4
2
0


Commentez cet article

Auteur :

Email :

Votre commentaire :



 
2005 - Pérennisation
Manipuler des fichiers XML en c#
[30 mn de lecture - paru le 5/5/2005 12:25:08 PM - Public : Débutant]

Auteur

hoarea_mMickael HOAREAU
Elève-Ingénieur Supinfo Océan-Indien
Promotion SUPINFO 2007

   Lui écrire
   Tous les projets de cet auteur
   Le mini-CV de cet auteur

2. Lire un fichier XML

    Pour lire un fichier XML, deux classes sont utilisables : XmlTextReader et XmlDocument.

2.1. XmlTextReader

    XmlTextReader est une classe dérivée de la classe XmlReader. XmlTextReader permet de lire (et seulement lire) un flux XML sans mis en cache. XmlTextReader peut être assimilé à un parseur qui parcourt le document d’élément en élément.

Le tableau ci dessous décrit les principales méthodes XmlTextReader.

Méthodes/PropriétésDescriptions
methode.gifRead Lit le nœud suivant du flux
methode.gifGetAttribute Renvoie la valeur d'un attribut passé en paramètre
propriétéName Obtient le nom du nœud actuel
propriétéNodeType Obtient le type de noeud actuel

Voici un exemple de code qui va afficher le fichier agenda.xml à l'écran.

XmlTextReader docxml=new XmlTextReader("agenda.xml");

                 

docxml.WhitespaceHandling = WhitespaceHandling.None;

docxml.Read();

docxml.Read();

docxml.Read();

Console.Write("<"+docxml.Name+" ");

Console.Write("nom: "+docxml.GetAttribute("Nom")+">\n");

docxml.Read();

Console.Write("<"+docxml.Name+">");

docxml.Read();

Console.Write(docxml.Value+"");

docxml.Read();

Console.Write("\n");

docxml.Read();

Console.Write("<"+docxml.Name+">");

docxml.Read();

Console.Write(docxml.Value+"");

docxml.Read();

Console.Write("\n");

docxml.Read();

Console.Write("");

 

On obtient l’écran suivant :

Console

Fichier agenda.xml:

agenda.xml

2.2. XmlDocument

    Un fichier XML peut être assimilé à un arbre. En effet un document XML est organisé de manière hiérarchique avec des éléments parents et des éléments enfants.
   
    Voici un exemple de code C# qui lit un fichier XML, et qui l’affiche dans un TreeView (contrôle qui permet d’afficher une collection hiérarchique d'éléments). Un TreeView est composé de TreeNodes.
   
    Donc au fur à mesure qu’on parcours le fichier XML on remplit le TreeNode parent avec des TreeNodes enfants. Pour cela, nous utilisons une fonction recursive.

//Tout d'abord on ajoute un TreeView au projet
//Notre TreeView s'appellera treeView1


XmlDocument docxml=new XmlDocument();

docxml.Load("agenda.xml");


//On appelle la méthode arbre sur docxml.LastChild
//
docxml.LastChild qui correspond au noeud agenda

//Le premier noeud étant les spécifications du document

arbre(docxml.LastChild, treeView1.Nodes);


Déclaration de la méthode "arbre" :

"arbre" est une méthode récursive qui va parcourir le fichier XML et remplir le TreeNode.

 

static void arbre(XmlNode noeud,TreeNodeCollection tn)

{

     //Condition d'arrêt:

     // Si le nombre d'enfant du noeud en cours est égale a zéro

     // Alors, on ajoute le noeud en cours et on s'arrête

    if (noeud.ChildNodes.Count==0)

     {

           TreeNode nouv_noeud=new TreeNode(noeud.Value);

           tn.Add(nouv_noeud);

           return;

    }

     else

     {

       //Sinon

       //On crée un nouveau TreeNode qui contient le nom de la basile XML

       //On l'ajoute au TreeNode parent

       //On rapelle la fonction sur chaque élément XML enfant de l'élément en cours,

       //Et sur le dernier noeud du TreeNode

      TreeNode nouv_noeud=new TreeNode(noeud.Name+" “+attribut(noeud));

       tn.Add(nouv_noeud);

       for (int i=0;i<noeud.ChildNodes.Count;i++)

              arbre(noeud.ChildNodes.Item(i),tn[tn.Count-1].Nodes);

      }
}
     


Ainsi le fichier suivant sera affiché dans un arbre, comme sur l’image.

Fichier agenda.xml :

Fichier XML

Le fichier agenda.xml affiché dans un TreeView:

TreeView



Articles de la même catégorie

 Pages : Top


56 Visites
0 Commentaires
Initiation au Xdialog
[15 mn de lecture - paru le 5/5/2005 11:58:55 AM - Public : Débutant]

En savoir plus


17 Visites
0 Commentaires
Gestion de fichiers avec le PHP
[40 mn de lecture - paru le 5/5/2005 5:32:49 AM - Public : Confirmé]

En savoir plus


17 Visites
0 Commentaires
Le framework QT
[30 mn de lecture - paru le 5/4/2005 7:47:42 PM - Public : Débutant]

En savoir plus

   Tous les Articles


SUPINFO Training Center peut vous proposer une formation ...

   Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training Center
   Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
   Devenez Administrateur Système Microsoft avec SUPINFO Training Center
   Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center



Powered by Campus-Booster Technology
Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :