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 6 et antérieur Discussion :

[VB6]QuestionXML simple... mais je bloque...


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Points : 56
    Points
    56
    Par défaut [VB6]QuestionXML simple... mais je bloque...
    Bonjour,
    je cherche à avoir la "num" qui se trouve dans "DONNEES"
    Voic le XML en question:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <DONNEES num="14">
    <UTILISATEUR NOM="PISSARO Camille">
      <RUE1>Rue Victor Hugo</RUE1>
      <RUE2></RUE2>
      <CODE_POSTAL>95300</CODE_POSTAL>
      <VILLE>Pontoise</VILLE> 
      <PAYS>France</PAYS>
      <REMARQUE>blabla</REMARQUE>
      <MELS>
        <ADRESSE Num="1">c.pissaro@pontoise.org</ADRESSE>
        <ADRESSE Num="2">camille.pissaro@impressioniste.pict</ADRESSE>
      </MELS>
    </UTILISATEUR>
     
    <UTILISATEUR NOM="COURBET Gustave">
      <RUE1>Hôtel Hébert</RUE1>
      <RUE2>Place Robert Fernier</RUE2>
      <CODE_POSTAL>25290</CODE_POSTAL>
      <VILLE>Ornans</VILLE>
      <PAYS>France</PAYS>
      <REMARQUE>blabla</REMARQUE>
      <MELS>
        <ADRESSE Num="1">g.courbet@free.fr</ADRESSE>
        <ADRESSE Num="2">gustave.courbet@patres.sky</ADRESSE>
      </MELS>
    </UTILISATEUR>
     
    <UTILISATEUR NOM="GEROME Jean-Léon">
      <RUE1>Musée Georges Garret</RUE1>
      <RUE2>1 bis, rue des Ursulines</RUE2>
      <CODE_POSTAL>70000</CODE_POSTAL>
      <VILLE>Vesoul</VILLE>
      <PAYS>France</PAYS>
      <REMARQUE>blabla</REMARQUE>
      <MELS>
        <ADRESSE Num="1">
          jl.gerome@wanadoo.fr
        </ADRESSE>
      </MELS></UTILISATEUR></DONNEES>
    j'ai essayé en faisant cela, avec TagName_ = DONNEES et Attribute_ = num

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Private Function cherche_attribut_return_int(TagName_ As String, Attribute_ As String, num As Long) As Integer
    'Cette fonction permet d'afficher dans Text1 l'attribut demandé pour une balise donnée
    Dim Indice As Integer
    Dim le_num_return As Integer
    Dim myStr As String
    Dim xmlElement As MSXML2.IXMLDOMElement
    Dim textNode As MSXML2.IXMLDOMElement
     Indice = 0
     
    '''Debut:
    Set xmlElement = xmlDoc.documentElement
            For Each textNode In xmlElement.getElementsByTagName(TagName_)
     
    '            If DEBOG = 1 Then Text1 = Text1 & "Kcherche_attribut_return_int: " & textNode.getAttribute(Attribute_) & vbCrLf
     
                If Indice = num And Not (IsNull(textNode.getAttribute(Attribute_))) Then
                le_num_return = textNode.getAttribute(Attribute_)
                cherche_attribut_return_int = le_num_return
                If DEBOG = 1 Then Text1 = Text1 & "cherche_attribut_return_int: " & CStr(le_num_return) & vbCrLf
                GoTo fin_cherche_attribut_return_int
                End If
     
                If (Indice = num) And IsNull(textNode.getAttribute(Attribute_)) Then
                le_num_return = 999
                cherche_attribut_return_int = le_num_return
                If DEBOG = 1 Then Text1 = Text1 & "cherche_attribut_return_int: " & CStr(le_num_return) & vbCrLf
                GoTo fin_cherche_attribut_return_int
                End If
     
                Indice = Indice + 1
            Next
    fin_cherche_attribut_return_int:
    '''Fin:
     
     
    End Function
    mais cela me renvoi 0
    merci d'avance!

  2. #2
    Membre éprouvé
    Avatar de ridan
    Inscrit en
    Avril 2003
    Messages
    710
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2003
    Messages : 710
    Points : 1 126
    Points
    1 126
    Par défaut
    tu commences par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Dim xmlDoc As MSXML2.DOMDocument
        Dim xmlElement As MSXML2.IXMLDOMElement
        Dim userNode As MSXML2.IXMLDOMElement
        Dim emailNode As MSXML2.IXMLDOMElement
     
        Dim myStr As String
     
        Set xmlDoc = New MSXML2.DOMDocument
     
        xmlDoc.async = False
        test = xmlDoc.Load("C:\Data.xml")
    si <DONNEES> est la racine de ton doc xml tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        If test = True Then
            Set xmlElement = xmlDoc.documentElement
            MsgBox xmlElement.getAttribute("num")
        Else
            MsgBox "erreur de lecture du fichier XML"
        End If
    sinon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        If test = True Then
            For Each userNode In xmlElement.getElementsByTagName("DONNEES")
                MsgBox userNode.getAttribute("num")
            Next
        Else
            MsgBox "erreur de lecture du fichier XML"
        End If

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 112
    Points : 56
    Points
    56
    Par défaut
    En plus simple:
    je cherche à avoir la valeur de num qui se trouve dans DONNEES:
    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
     
    <DONNEES num="14">
      <UTILISATEUR NOM="COURBET Gustave">
        <RUE1>Hôtel Hébert</RUE1>
        <RUE2>Place Robert Fernier</RUE2>
        <CODE_POSTAL>25290</CODE_POSTAL>
        <VILLE>Ornans</VILLE>
        <PAYS>France</PAYS>
        <REMARQUE>blabla</REMARQUE>
        <MELS>
          <ADRESSE Num="1">g.courbet@free.fr</ADRESSE>
          <ADRESSE Num="2">gustave.courbet@patres.sky</ADRESSE>
        </MELS>
      </UTILISATEUR>
    </DONNEES>
    merci d'avance

  4. #4
    Membre éprouvé
    Avatar de ridan
    Inscrit en
    Avril 2003
    Messages
    710
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2003
    Messages : 710
    Points : 1 126
    Points
    1 126
    Par défaut
    tu as lu mon post ??

  5. #5
    Membre expert
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Points : 3 890
    Points
    3 890
    Par défaut
    Citation Envoyé par ridan
    tu as lu mon post ??
    apparemment non

    [Balise [VB6] rajoutée par Khany]
    [Pensez-y vous-même à l'avenir. Merci. ]

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

Discussions similaires

  1. regex simple à faire mais.. je bloque :p
    Par frenchlion dans le forum Shell et commandes POSIX
    Réponses: 2
    Dernier message: 14/02/2012, 17h32
  2. Probleme simple mais bloque !
    Par kEep OnE dans le forum Débuter
    Réponses: 8
    Dernier message: 17/07/2011, 02h04
  3. requete a 1er vue simple mais a 2em vue... :(
    Par exyacc dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/03/2005, 10h05
  4. Réponses: 4
    Dernier message: 18/12/2004, 15h29
  5. Pb de COUNT et GROUP BY simple mais sans requête imbriquées
    Par vanquish dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/10/2004, 10h45

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