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 : 12 386

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 Création d'un document Xml à partir d'un autre [ par cfz ] Bonjour, j'ai un document Xml qui me sert de template pour en cr&#233;er d'autresj'ouvre le document template : XmlDocument XmlTemplate = new<FONT rassembler 2 XML [ par mathmax ] Bonjour,je fais actuellement un programme qui prends des balises dans un document XML, et qui les ins&#232;re dans un autre.&nbsp;J'ai donc &#233;cris [C #/XML] problemes avec xmlWriter [ par moha_yougo ] h&#233;lloje veut c&#233;er le noyau d'une feuille de styles xslt:&lt;?xml version="1.0"?&gt;&lt;xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3. [c#/ xml] comment faire modification d'un document xml ou xsl [ par moha_yougo ] &nbsp;&nbsp;&nbsp; pour faire des modification sur un document xml ou xsl apartir d'un controle est ce que je doit copier ces fichies dans des fichier [xml] XML node de type int, boolean ... [ par agarcia_01 ] Bonjour je souhaite cr&#233;eer un noeud XML de type int , ou boolean c possible ? &nbsp;&nbsp;&nbsp; comme par defaut c'est du string :( &nbsp;&nbs XML et encodage [ par mathmax ] Bonjour.Voici mon probl&#232;me :Je travaille actuellement sur un fichier XML. Au d&#233;but j'ai charg&#233; mon document &#224; l'aide de la fonctio typage de données dans XSD [ par ratsimisampy ] salut &#224; tous, voil&#224;, je voudrai charger un fichier xml dans ma base access et ensuite afficher les donn&#233;es dans mon datagrid. pour tou menu dynamique en xml [ par 070107198 ] rachbonjour Svp, je travail sur un projet web en ASP2.0 est ce que qlq peut m'indiquer comment peut-on faire pour afficher un menu dynamique en foncti génération documentation xml [ par aurelie ] Bonjour,J'utilise VS .net 2005, et&nbsp;j'aimerais g&#233;n&#233;rer une documentation xml de mes commentaires de mon site web, et je n'arrive pas &#2


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

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



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,312 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é.