IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Liste des nœuds du fichier XML


Sujet :

C#

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut Liste des nœuds du fichier XML

    Depuis quelques jours, j'essaie de charger la liste des nœuds de mon XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?xml version="1.0" encoding="Windows-1252"?>
    <AlimFile xmlns="urn:OECD:StdFile-Tax:PT_1.00_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:OECD:StdFile-Tax:PT_1.00_01 file:/C:/toto.xsd">
      <Header>
        <AudVersion></AudVersion>
        <CompanyID></CompanyID>
        <CompanyAddress>
          <BuildingNumber></BuildingNumber>
          <StreetName></StreetName>
        </CompanyAddress>
        <FiscalYear></FiscalYear>
        <StartDate></StartDate>
    .....
      </Header>
    .....
      <MasFiles>
        <General>
          <AccountID></AccountID>     
        </General>
      </MasFiles>
    ....
    </AlimFile>
    avec le bout de code suivant sans succès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // Créer une instance du document XML et charger les données XML.
    XmlDocument doc = new XmlDocument();
    // On suppose que le fichier XML se trouve dans le même dossier.
    doc.Load("toto.xml");
    //la declaration de la liste des noeuds
    XmlNodeList list;
    //toutes les sous balises header qui existe dans ton fichier xml
    list = doc.SelectNodes("/Header"); // à partir de cette ligne car list.count=0
     
    //la boucle qui parcours toute la liste, elle sort de suite count=0
    foreach(XmlNode node in list)
    {   
       MessageBox .Show (node.InnerText );
    }
    Merci pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Par défaut
    Salut,

    as-tu essayé en doublant le '/'?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list = doc.SelectNodes("//Header");
    ...

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut Liste des nœuds du fichier XML
    Citation Envoyé par melleb Voir le message
    Salut,

    as-tu essayé en doublant le '/'?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list = doc.SelectNodes("//Header");
    ...
    oui sans succès

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Ton fichier XML utilise des espaces de noms particuliers (notamment pour l'espace de noms par défaut, xmlns), il faut donc le prendre en compte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    XmlDocument doc = new XmlDocument();
    doc.Load(...);
     
    XmlNamespaceManager mng = new XmlNamespaceManager(doc.NameTable);
    mng.AddNamespace("oecd", "urn:OECD:StdFile-Tax:PT_1.00_01");
     
    XmlNodeList list = doc.SelectNodes("//oecd:Header", mng);
    Dans l'exemple, oecd est associé à l'espace de noms par défaut (xmlns), c'est la raison pour laquelle Header est préfixé avec dans la requête XPath.

    Cela devrait marcher mieux après ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Liste des extensions de fichier gérée par Windows
    Par rezuss dans le forum Delphi
    Réponses: 2
    Dernier message: 10/07/2007, 17h21
  2. comment ajouter des élements À un fichier XML
    Par ryoussef19 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 09/07/2007, 09h14
  3. [DOM] Ajouter des noeuds à un fichier XML
    Par Louis-Guillaume Morand dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 07/04/2007, 14h55
  4. récuperer des infos dasn fichier xml
    Par alliance dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 14/02/2006, 16h57
  5. exporter / importer des bases en fichier XML ?
    Par nico2280 dans le forum Outils
    Réponses: 2
    Dernier message: 02/11/2005, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo