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

VB.NET Discussion :

Hiérarchiser des noeuds en XML


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut Hiérarchiser des noeuds en XML
    Bonjour à tous,
    Je travaille dans un fichier XML organisé comme suit :
    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
    <ERGIL>
      <Version>1.0</Version>
      <I_NB>1</I_NB>
      <I1>
        <I1_Actif>True</I1_Actif>   
        <I1_A_NB>1</I1_A_NB>
    	<I1_A1>
    		<I1_A1_Actif>True</I1_A1_Actif>
    		<I1_A1_PceNb>1</I1_A1_PceNb>
    		<I1_A1_Pce1>
    			<I1_A1_P1_Nom>Pièce n°1</I1_A1_P1_Nom>			
    		</I1_A1_Pce1>		
        </I1_A1>
      </I1>
    </ERGIL>
    J'ai besoin de créer de nouveaux nœuds au même niveau que "I1_A1_Pce1 et "I1_A1_P1_Nom", je pensais donc utiliser le code suivant :
    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
     Dim noeud As XmlNode = doc.DocumentElement
            Dim noeudRacine As XmlNode = doc.DocumentElement
     
            Dim ANB As XmlElement = doc.SelectSingleNode("I1_A1") 'I" & LblImmeuble_Org.Tag & "_A" & LblAppart_Org.Tag)
     
     
            Dim PNB As XmlElement
            PNB = doc.CreateElement("I1_A1_Pce" & NbPieces)
            PNB.InnerText = ""
            ANB.AppendChild(PNB)
     
            Dim PceNom As XmlElement
            PceNom = doc.CreateElement("I1_A1_P" & NbPieces & "_Nom")
            PceNom.InnerText = " "
            PNB.AppendChild(PceNom)
    cependant, ce code ne fonctionne pas ANB ne semble pas reconnu.

    J'ai donc essayé comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim ANB As XmlElement 
            For Each noeud1 In noeudRacine.ChildNodes
                If noeud1.Name = "I1_A1" & "_Pce" & NbPieces Then ANB = noeud1
            Next
    Mais rien n'y change.
    Quelqu'un aurait une idée pour solutionner mon problème ?

    Merci d'avance

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    la fonction SelectSingleNode s'attend à un XPath, pas juste un identifiant qu'il devrait trouver en pronfondeur. Pour la syntaxe du XPath je te laisse chercher sur le net, mais pour faire vite, dans ton cas, ce serait plutôt un truc du genre (à vérifier) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ANB As XmlElement = doc.SelectSingleNode("//I1_A1")
    Bon dev.

  3. #3
    Membre très actif
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    Impec, ça fonctionne nickel !
    En plus c'est bien plus simple que ce que je pensais faire

    Merci beaucoup

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

Discussions similaires

  1. [C#] XML -> parcourir des noeuds un après l'autre ?
    Par TheParadoX dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/09/2006, 17h14
  2. [C#-XML] Récupérer les valeurs des noeuds enfants
    Par cyllix dans le forum Windows Forms
    Réponses: 1
    Dernier message: 23/06/2006, 11h54
  3. [SimpleXML] XML et parcours des noeuds avec foreach
    Par kult dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 15/11/2005, 15h36
  4. [XML] Parser selon des noeuds enfants
    Par GLDavid dans le forum Modules
    Réponses: 5
    Dernier message: 20/08/2004, 20h42
  5. [VB.NET] XML - Trier des noeuds
    Par nako dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/06/2004, 09h13

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