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

Linq Discussion :

linq to XML : variable non déclarée


Sujet :

Linq

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 36
    Par défaut linq to XML : variable non déclarée
    salut a tous!
    je me suis enfin interessé a la méthode linq to xml pour manipuler un fichier xml,cependant j ai adapté l exemple de bladack01 dans ce post http://www.developpez.net/forums/d86...q/to-linq-xml/ et a la compilation une erreur mais retournée qui dit que "test" n est pas declarée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        Private Sub edit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim DocXml As XElement = XElement.Load(fichier)
     
            Dim noeud As XElement = DocXml...<objet>(0) 'enfaite la on choisi en quelque sorte le noeud sur lequel on se place
            Dim ajoutobj = New XElement("testlinq", _
                                          New XElement("ref", test.Ref), _
                                          New XElement("modele", test.modele), _
                                          New XElement("desc", test.desc))
     
            noeud.AddAfterSelf(ajoutobj) ' le addafterself permet d'inséré les nouveau après le noeud sélectionner plus haut ^^
     
     
        End Sub
    je ne sais pas en quoi déclarer test sans que cela ne me retourne une erreur :s

  2. #2
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut
    Salut,

    Si je comprend bien tu charge un xml existant et tu y ajoutes le nœud suivant après le premier nœud <objet> que tu trouves :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <testlinq>
         <ref>test.ref</ref>
         <modele>test.modele</modele>
         <desc>test.desc</desc>
    </testlinq>
    Il faut bien déclarer test puisque tu vas l'utiliser pour alimenter la valeur des nœuds.
    test est un objet ? Comment récupères-tu ces valeurs ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 36
    Par défaut
    justement,ce code n étant pas le mien je peine a comprendre tout son contenu.
    néamoins je pense que test serait a valeur que j entrerai en parametre dans une textbox par exemple qui par la suite serait introduite dans le xml...

  4. #4
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut
    Dans ce cas tu pourras remplacer les test.ref, test.modele et test.desc par les valeurs des textbox.

    Si tu souhaites uniquement tester ce bout de code, tu peux mettre des valeurs en dur pour passer la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim ajoutobj = New XElement("testlinq", _
          New XElement("ref", "UneRef"), _
          New XElement("modele", "UnModele"), _
          New XElement("desc", "UneDesc"))

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 36
    Par défaut
    merci de repondre
    j ai tenté ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Private Sub edit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim DocXml As XElement = XElement.Load(fichier)
     
            Dim noeud As XElement = DocXml...<objet>(0) 'enfaite la on choisi en quelque sorte le noeud sur lequel on se place
     
            Dim ajoutobj = New XElement("testlinq", _
          New XElement("ref", "UneRef"), _
          New XElement("modele", "UnModele"), _
          New XElement("desc", "UneDesc"))
     
        End Sub
    et a l execution ca m a retourner element racine manquant...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 36
    Par défaut
    c est bon je n ai plus se probleme
    j egalement effectué un docXml.save(de mon xml)
    mais...rien ne change dedans ^^

  7. #7
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut
    Que souhaites tu faire, générer un nouveau fichier XML avec la structure suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <testlinq>
         <ref>UneRef</ref>
         <modele>UnModele</modele>
         <desc>UneDesc</desc>
    </testlinq>
    ou partir d'un xml existant et lui ajouter le nœud ci-dessus ?
    (le code que tu proposes traite ce cas de figure)
    Dans ce cas, le xml que tu charges avec XElement.Load(fichier) est-il bien formaté ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/12/2008, 10h59
  2. Option Explicit et erreur variable non déclarée
    Par petitours dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/04/2008, 15h38
  3. [Design] Erreur variable non déclarée ou non assignée
    Par Arnard dans le forum Visual Studio
    Réponses: 3
    Dernier message: 19/12/2007, 17h53
  4. Problème de variable non déclarée
    Par jncoffy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 24
    Dernier message: 06/06/2007, 11h01
  5. variable non déclarée?
    Par carole8 dans le forum C
    Réponses: 15
    Dernier message: 30/11/2006, 16h13

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