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

Windows Forms Discussion :

[vb.net][xml] probleme de lecture de fichier


Sujet :

Windows Forms

  1. #1
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut [vb.net][xml] probleme de lecture de fichier
    Bonjour,

    Je ne suis pas tres familier avec la lecture de fichiers xml, mais pourtant je pense avoir suivis la bonne demarche (mais ca ne marche pas sinon je ne serais pas en train d'ecrire ce post )
    J'ai le fichier xml suivant :

    <?xml version="1.0" encoding="utf-8" ?>
    <ToolTip>
    <table tag="some explanations about tables"/>
    <view tag="some explanations about views"/>
    </ToolTip>


    et avec ce code j'essaye de lire un node:

    Public Function LoadToolTip(ByVal Form As String, ByVal Tag As String)
    As String
    Dim xDoc As New XmlDocument
    Try
    Dim filePath As String = "../ToolTips/" & Form & ".xml"
    xDoc.Load(filePath)
    Dim xNodeList As XmlNodeList = xDoc.SelectNodes("/ToolTip/"
    & Tag & "/@tag")
    Return xNodeList.Item(0).Value
    Catch ex As Exception
    MsgBox(ex.ToString)
    End Try
    end function


    mais xnodelist est toujours vide. Qu'est ce qui ne va pas ?

    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    est ce que tu utilise un openfiledialog ?
    et comment tu crée ton fichier xml, car moi j'utilise ceci
    pour ecrire
    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
      Dim xmlTextWriter As XmlTextWriter
            Try
     
                xmlTextWriter = New XmlTextWriter(SaveFileDialog1.FileName, System.Text.Encoding.UTF8)
                xmlTextWriter.Formatting = System.Xml.Formatting.Indented
                xmlTextWriter.Indentation = 2
                xmlTextWriter.WriteStartDocument()
                xmlTextWriter.WriteComment("création Fichier XML")
                xmlTextWriter.WriteStartElement("textbox1", TextBox1.Text)
     xmlTextWriter.WriteEndElement()
                xmlTextWriter.Flush()
                xmlTextWriter.Close()
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            End If
    et pour lire
    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
    22
    23
    24
     
            If MessageBox.Show(Me, "charger document?", "ouvrir", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No Then
                Return
            End If
            OpenFileDialog1.Title = "ouvrir"
            OpenFileDialog1.DefaultExt = "mxl"
     
     
     
            If OpenFileDialog1.ShowDialog(Me) = DialogResult.OK Then
      Dim reader As XmlTextReader = New XmlTextReader(OpenFileDialog1.OpenFile)
     
                While reader.Read()
     
                    If reader.NodeType AndAlso reader.Name = "textbox1" Then
                        Me.TextBox1.Text = reader.ReadString()
                    End If
     
                End While
                reader.Close()
     
                OpenFileDialog1.OpenFile()
     
            End If
    cela me permet de remettre le contenu de mon textbox
    je sais pas si cela peut t'aider
    @+

  3. #3
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    En fait je n'ai pas l'intention d'ecrire dans le fichier. Et je ne veux pas utiliser un openfiledialog non plus. Je souhaite seulement trouver le node passé en parametre a ma fonction, lire sa valeur et la retourner.

    J'ai change mon fichier :

    <tooltip>
    <Table>some explanations about tables</Table>
    <View> some explanations about views </View>
    </tooltip>

    et ma facon d'aborder le probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Dim Node As XmlElement = CType(xDoc.DocumentElement.SelectSingleNode("/tooltip/" & Tag), XmlElement)
    xDoc est mon document (ouvert correctement), mais a chaque fois Node.Value est nothing Ca m'enerve car je ne vois pas ce qui cloche :

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 83
    Points : 107
    Points
    107
    Par défaut
    Bonjour,

    Exemple (en C#):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ....
    XmlNode node = doc.SelectSingleNode(@"/ToolTip/table/@tag");
    if (node != null)MessageBox.Show(node.Value);
    ....
     
    OU BIEN
     
    ...
    XmlNode node1 = doc.SelectSingleNode(@"/ToolTip/table");
    if (node != null)MessageBox.Show(node1.Attributes["tag"].Value);
    ...

  5. #5
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    :trouve:
    Ben non justement c'est pas .Value qu'il faut utiliser mais .InnerText

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/07/2011, 20h55
  2. Probleme de lecture de fichier swf avec c#
    Par Vince57 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/06/2006, 14h18
  3. [VB.Net] probleme de lecture de fichier
    Par michel71 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/05/2006, 15h42
  4. Probleme de lecture de fichier
    Par ArkAng3 dans le forum MFC
    Réponses: 9
    Dernier message: 11/12/2005, 20h47
  5. [xml]probleme de lecture
    Par mavina dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 22/07/2005, 08h34

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