Recherche d'un element XML par son attribut [Résolu]

Messages postés
51
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
9 décembre 2009
- - Dernière réponse : souicioql
Messages postés
25
Date d'inscription
mercredi 12 mai 2010
Statut
Membre
Dernière intervention
26 mai 2011
- 21 janv. 2011 à 12:22
Salut à tous,

j'ai un souci XML lorsque j'effectue mon getXMLInfo = element.Value, il me signale que je dois utiliser l'opérateur new

hors je ne veux attribuer en retour que la valeur du noeud que je souhaite trouver.

pourriez-vous m'aider?

merci

Public





Function

getXMLInfo(


ByVal

ls_type


As





String

,


ByVal

ls_name


As





String

)


As





String










' fonction d'appel d'un label dans la string XML










If

li_codRet = 0


Then










Dim

sreader


As





New



StringReader(ls_result)







Dim

doc


As

XmlDocument =


New



XmlDocument()


doc.Load(sreader)








Dim

elements


As



XmlNode







Dim

root


As



XmlNode = doc.DocumentElement


elements = root.SelectSingleNode(




"root/label[NAME=""'lbl_Title'""]"


)


getXMLInfo = elements.Value()








Else




getXMLInfo =






"Label Unknown"










End





If










End





Function
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56
3
Merci
tu pars du niveau root, tu peux pas rechercher root de nouveau...

Dim doc As XmlDocument = New XmlDocument()
doc.Load("c:\a.xml")

Dim oNode As XmlNode = doc.SelectSingleNode("root/label[@NAME='lbl_Title']")
If Nothing Is oNode Then
MessageBox.Show("label inconnu")
Else
MessageBox.Show(oNode.InnerText)
End If

Dire « Merci » 3

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

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56
0
Merci
c'est qu'il a pas trouvé ton élément...

ta requete trouverai:

<root>
<label>
<NAME>lbl_title</NAME>
<TEXT>...</TEXT>
</label>
</root>

tu dis vouloir trouver un attribut...

faire, donc :

root/label[@NAME="lbl_title"]

pour tester un @ttribut
Commenter la réponse de Renfield
Messages postés
51
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
9 décembre 2009
0
Merci
Salut,

merci je viens de tester mais j'ai le même résultat




<root><label NAME="lbl_Msg12">Bla bla bla</label><label NAME="lbl_Msg22">blu blu blu</label><label NAME="lbl_infbrs_2">Blo blo blo</label><label NAME="lbl_Msg11">Tagada</label><label NAME="lbl_Msg21">tsoin</label><label NAME="lbl_typcard">Tsoin</label><label NAME="lbl_Title">Truc muche</label></root>

Voila ce que contiens ma variable ls_result
Commenter la réponse de kaygee
Messages postés
51
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
9 décembre 2009
0
Merci
Merci beaucoup, ca fonctionne, c'est vrai je n'avais pas pensé au tag de départ.
Commenter la réponse de kaygee
Messages postés
25
Date d'inscription
mercredi 12 mai 2010
Statut
Membre
Dernière intervention
26 mai 2011
0
Merci
slt
pour recharge un attribut ou élément d'un document XML en retrouve expression de chemin

• Les expressions de chemin ressemble beaucoup à celles que l'on retrouve dans le langage XPath. Prenons par exemple le document suivant dans lequel l’attribut «num» représenterait un numéro associé à un élève et la valeur de la balise, la note de celui-ci.
• <examen>
<note num="001">80</note>
<note num="012">75</note>
<note num="525">99</note>
<note num="601">60</note>
</examen>
• Examinons maintenant l'expression de chemin suivante :
• //examen/note[@num=$a]/text ()
• Assument que la variable $a contienne une valeur numérique constitué de trois chiffres, l’expression retournerait le texte contenu dans le nœud dont la valeur de l’attribut num est égale à celui de la variable.
Commenter la réponse de souicioql