Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Utilisation de la classe ‘XmlTextReader’ pour lire un document XML

Utilisation,de,la,classe,'XmlTextReader',pour,lire,un,document,XML
{filelink=16386}

using System;
using System.Xml;
 
public class LireFichierXML
{    
 
    public static void Main()
    {
        //Utilisation de la classe 'XmlTextReader' pour ouvrir un document XML
        XmlTextReader xtReader = new XmlTextReader("Operations.xml");
        xtReader.WhitespaceHandling = WhitespaceHandling.None;
 
        //Charger le fichier dans la classe 'XmlDocument'
        XmlDocument xd = new XmlDocument();
        xd.Load(xtReader);
 
        // Obtenir la racine du document
        XmlNode xNoeud = xd.DocumentElement;
 
        // Parcourir le Noeud itérativement
        ParcourirLesNoeud(xNoeud, 0);
 
        // Fermer le 'Reader'
        xtReader.Close();
    }
 
    // Affichage d'un noeud et ses enfants
    private static void ParcourirLesNoeud(XmlNode xNoeud, int niveau)
    {
        XmlNode xNoeudPas;
        String pad = new String(' ', niveau * 2);
 
        Console.WriteLine(pad + xNoeud.Name + "(" + xNoeud.NodeType.ToString()
         + ": " + xNoeud.Value + ")");
 
        // Si le Noeud est un élément, extraire ses attributs
        if (xNoeud.NodeType == XmlNodeType.Element)
        {
            XmlNamedNodeMap lesAttributs = xNoeud.Attributes;
            for(int i=0; i<lesAttributs.Count; i+=1)
            {
                // Affichage des attributs et ses valeurs
                Console.WriteLine(pad + " " + lesAttributs.Item(i).Name
                    + " = " +  lesAttributs.Item(i).Value);
            }
        }
 
        // Entrez dans chaque Noeud pour extraire ses enfants
        if (xNoeud.HasChildNodes)
        {
            xNoeudPas = xNoeud.FirstChild;
            while (xNoeudPas != null)
            {
                ParcourirLesNoeud(xNoeudPas, niveau+1);
                xNoeudPas = xNoeudPas.NextSibling;
            }
        }
 
    }
 
}
 
//File: Cust4.xml
 
/*
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Cust.xsl"?>
<NewDataSet>
    <Customers>
        <CustomerID>ALFKI</CustomerID>
        <CompanyName>Alfreds Futterkiste</CompanyName>
        <ContactName>Maria Anders</ContactName>
        <ContactTitle>Sales Representative</ContactTitle>
        <Address>Obere Str. 57</Address>
        <City>Berlin</City>
        <PostalCode>12209</PostalCode>
        <Country>Germany</Country>
        <Phone>030-0074321</Phone>
        <Fax>030-0076545</Fax>
    </Customers>
    <Customers>
        <CustomerID>BONAP</CustomerID>
        <CompanyName>app</CompanyName>
        <ContactName>Laurence Lebihan</ContactName>
        <ContactTitle>Owner</ContactTitle>
        <Address>12, rue des Bouchers</Address>
        <City>Marseille</City>
        <PostalCode>13008</PostalCode>
        <Country>France</Country>
        <Phone>91.24.45.40</Phone>
        <Fax>91.24.45.41</Fax>
    </Customers>
</NewDataSet>
 
*/

No comments yet.

Leave a Comment