Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PARCOURS D'UN DOCUMENT XML À L'AIDE DE DOM


Information sur la source

Catégorie :.NET Source .NET ( DotNet ) Classé sous : dom, xml Niveau : Débutant Date de création : 27/05/2003 Date de mise à jour : 27/05/2003 12:36:58 Vu : 13 820

Note :
4,75 / 10 - par 4 personnes
4,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Mon code se contente d'afficher les noeuds d'un document XML. Le parcours se fait de manière récursive à l'aide de DOM. Il faut instancier le constructeur en lui passant le nom du fichier XML à parser.
 

Source

  • using System;
  • using System.Xml;
  • /// <summary>
  • /// Parsing à l'aide de DOM d'un document XML.
  • /// </summary>
  • public class LecteurXmlDOM{
  • //le fichier contenant le document XML
  • private string fichier;
  • /// <summary>
  • /// <param name="fichier">le nom du fichier XML à parser</param>
  • /// </summary>
  • public LecteurXmlDOM(string fichier){
  • this.fichier=fichier;
  • }
  • /// <summary>
  • /// Lecture de tous les noeuds du document XML de manière récursive.
  • /// </summary>
  • public void lire(){
  • XmlDocument doc=new XmlDocument();
  • doc.Load(fichier);
  • lireRecursif(doc.ChildNodes[1]);
  • }
  • /// <summary>
  • /// Lecture d'un noeud.
  • /// Appel récursif sur tous les fils du noeud.
  • /// <param name="noeud">le noeud</param>
  • /// </summary>
  • private void lireRecursif(XmlNode noeud){
  • //affichage du noeud courant
  • Console.WriteLine("----------------------------");
  • Console.WriteLine("Type du noeud="+noeud.Name);
  • Console.WriteLine("Nom de noeud="+noeud.Name);
  • Console.WriteLine("Contenu du noeud="+noeud.Value);
  • if (noeud.Attributes!=null)
  • foreach (XmlAttribute a in noeud.Attributes)
  • Console.WriteLine(" "+a.Name+"="+a.Value);
  • foreach (XmlNode n in noeud.ChildNodes)
  • lireRecursif(n);
  • }
  • /// <summary>
  • /// </summary>
  • static void Main(string[] args){
  • LecteurXmlDOM lecteurXmlDOM=new LecteurXmlDOM("actu0.xml");
  • lecteurXmlDOM.lire();
  • }
  • }
using System;
using System.Xml;

/// <summary>
/// Parsing à l'aide de DOM d'un document XML.
/// </summary>
public class LecteurXmlDOM{
  //le fichier contenant le document XML
  private string fichier;

  /// <summary>
  /// <param name="fichier">le nom du fichier XML à parser</param>
  /// </summary>
  public LecteurXmlDOM(string fichier){
    this.fichier=fichier;
  }

  /// <summary>
  /// Lecture de tous les noeuds du document XML de manière récursive.
  /// </summary>
  public void lire(){
    XmlDocument doc=new XmlDocument();
    doc.Load(fichier);
    lireRecursif(doc.ChildNodes[1]);
  }

  /// <summary>
  /// Lecture d'un noeud.
  /// Appel récursif sur tous les fils du noeud.
  /// <param name="noeud">le noeud</param>
  /// </summary>
  private void lireRecursif(XmlNode noeud){
    //affichage du noeud courant
    Console.WriteLine("----------------------------");
    Console.WriteLine("Type du noeud="+noeud.Name);
    Console.WriteLine("Nom de noeud="+noeud.Name);
    Console.WriteLine("Contenu du noeud="+noeud.Value);
    if (noeud.Attributes!=null)
      foreach (XmlAttribute a in noeud.Attributes)
        Console.WriteLine("  "+a.Name+"="+a.Value);
    foreach (XmlNode n in noeud.ChildNodes)
      lireRecursif(n);
  }

  /// <summary>
  /// </summary>
  static void Main(string[] args){
    LecteurXmlDOM lecteurXmlDOM=new LecteurXmlDOM("actu0.xml");
    lecteurXmlDOM.lire();
  }
}

Commentaires et avis

signaler à un administrateur
Commentaire de HolyDev le 03/05/2005 14:29:18

Mon but était de recréer une arborescence dans un treeview par rapport à un fichier XML, je croyais galérer, en chier des bulles ! mais grace à toi j'ai fai ça easy love...
Merci bien

signaler à un administrateur
Commentaire de Atmaweapon le 22/08/2005 13:58:51

Pourquoi ne pas avoir utilisé XmlTextReader ou XmlNodeReader ?
... réinventer la roue, ca peut être bien parfois... mais c'est long ;)

signaler à un administrateur
Commentaire de yarkier le 06/02/2008 11:27:44

Bonjour,

J'ai utilisé ce code dans un xml, mais lors de la lecture, la variable noeuds.value me renvois une chaine vide j'aimerais savoir pourquoi mais surtout comment résoudre ce problème

Merci de bien me répondre au plus vite

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

XML, DOM [ par ratsimisampy ] Bonjour à tous je cherche à manipuler des donnÈes à partir de fichiers xml importer par mon appli. jusqu'a présent j'arrive tout juste à afficher d Différence entre XSL DOM ET LINQ [ par mimosa803 ] Bonjour,J'ai une question concernant l'utilisation des fichiers XML :Avant la sortie de LINQ TO XML on utilisait DOM pour parser le document XML (XMLD les regles de transformation de xml en sql3 [ par amouna23 ] bon soir à tous, je veux travailler sur le mapping d'un schéma xml en un sql3mais je veux connaitre les étapes à suivre pour faire ça, et sur tous les recuperer le chemin relativ d'un fichier a partir de son chemin absolu [ par babyboo1107 ] Bonjour,Voilà je sèche un peux j'aimerai connaitre le chemin relatif d'un fichier se trouvant dans l'arborescence de mon site je suis sous visual stud j'aimerai charger un fichier XML dans un datagridview dans lequel une des colonnes à un type datagridviewcombobox [ par blanding ] hello la communauté, Postulat : j'aimerai charger un fichier XML dans un datagridview dans lequel une des colonnes à un type datagridviewcombobox. 1°) Création d'une DTD pour valider fichier XML [ par damsdu64 ] Bonjour, Dans le cadre d'un projet je dois valider mon fichier XML existant avec une DTD mais après de nombreuses recherches je ne trouve pas d'endroi balise XML [ par dorras7 ] Bonjour,je veux savoir comment écrire un document XML qui accepte comme nom du balise le caractère ":"Exemple:&lt;NS1:connector&gt;&lt;/NS1:connector& Parcourir un fichier XML avec XPath [ par nounours21_6 ] Bonjour, J'ai un problème avec mon code pour parcourir un fichier XML. Voici mon code : [code] XPathDocument document = new XPathDocument("fichier.x XML vers Access [ par sveleg ] Bonjour. Je gère un entrepôt logistique pour des produits industriels variés. J'ai de bonnes notions en Access mais aucunes pour le language XML. J'ai


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.