XmlReader - lire valeur entre balise ouvrante et balise fermante [Résolu]

Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
- - Dernière réponse : java_ma
Messages postés
2
Date d'inscription
lundi 19 février 2007
Dernière intervention
20 février 2007
- 19 févr. 2007 à 11:47
Bonjour,
voila j'ai 2 petits soucis
1 - j'ai des difficultés pour récupérér la valeur avec un XmlReader entre balises
ex : <gras>valeur</gras>
j'utilise oXmlReader.ReadElementString

mais dés l'instant que je passe dessus je ne sais pas se qu'il se passe on dirait que le reader est avancé, ainsi si je le place avant de faire ma boucle pour lister les attributs de la balise, juste avant de passer sur l'instruction j'ai par ex 3 attributs dans la propriete (XmlReader.AttributesCount) et dés que je suis passé dessus je n'en n'ai plus aucun

j'ai également essayé

If oXmlReader.HasValue =
True
ThenoElement.Valeur = oXmlReader.ReadElementString

End
If

mais dans ce cas je ne récupére aucune valeur même quand il y en a une entre les balises !!

Qu'utilisez vous pour recuperer la valeur entre une balise ouvrante et fermante ?

2 -
comment faire pour si on trouve le caracetere [] (retour a la ligne) (en lisant un fichier XML ou autre d'ailleurs )
faire un test pour eviter que le code soit executer si le caractere est trouvé

style
If

 variableQuelconque
= "[]"
ThennodeElement.Text = el.Nom

Else

end if

j'ai essaye avec

 ControlChars.CrLf , ControlChars.NewLine,"\n" mais ce n'est pas concluant

une idée

merciii
++
 
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
3
Merci
Salut,

une fois avoir lu la ligne, essai d'adapter cette fonction vb6 de PCPT (déposée sur Codyx) :

Function MultiSplit(ByVal sStr As String, bKeepSepar As Boolean, ParamArray aArray()) As String()
'   Len des arguments aArray  doivent être de 1, sStr ne doit pas être vide
'    sStr        -> chaîne à parser
'    bKeepSepar  -> garder ou non les caractères de référence
'    aArray      -> tableau des références  (len= 1)
    Dim sCol As New Collection
    Dim sChar As String, sLeft As String
    Dim bFound As Boolean
    Dim aRes() As String
    Dim i As Integer, j As Integer
    i = 0
    
    While LenB(sStr) > 0
        i = i + 1
        sChar = Mid$(sStr, i, 1)
        bFound = False
        For j = LBound(aArray) To UBound(aArray)
            If sChar = CStr(aArray(j)) Then bFound = True: Exit For
        Next j
        If bFound Then
            sLeft = Left$(sStr, i - 1)
            If LenB(sLeft) > 0 Then sCol.Add sLeft
            If bKeepSepar Then sCol.Add sChar
            sStr = Right$(sStr, Len(sStr) - i)
            i = 0
        ElseIf sChar = vbNullString Then
            sCol.Add sStr
            sStr = vbNullString
        End If
    Wend
    ReDim aRes(sCol.Count - 1)
    For i = 1 To sCol.Count
        aRes(i - 1) = sCol.Item(i)
    Next i
    MultiSplit = aRes
    
    Set sCol = Nothing
    Erase aRes
End Function

' EXEMPLE  D'UTILISATION
Private Sub Form_Load()
    Dim a$(), i%
    a = MultiSplit( _
          " valeur ", _
          True, "<", ">", "/")
          
    For i  = 0 To UBound(a)
        Debug.Print a(i)
    Next i
    Unload Me
End Sub

' *** RESULTAT dans la fenêtre d'execution :
' <
' balise
' >
' valeur
' <
' /
' balise
' >

--Mortalino-- Colorisation automatique

En espérant que ça t'aide !

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de mortalino
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
3
Merci
A yé c'est tout bon
apparemment c'est oXmlReader.ReadElementString
qui etait en cause meme pour le caractere

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de romagny13
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
0
Merci
Bon jai trouvé deja pour le 1

Case Xml.XmlNodeType.TextoDocument.colElements.Item(indexElement - 2).Valeur = oXmlReader.Value
+
Commenter la réponse de romagny13
Messages postés
2
Date d'inscription
lundi 19 février 2007
Dernière intervention
20 février 2007
0
Merci
salut
je voudré nomé les table extraites d'un xml dans un dataset
somebody to help?
Commenter la réponse de java_ma

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.