Extraire chaine d'un xml. [Résolu]

Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
- - Dernière réponse : cs_kraven
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
- 27 juil. 2009 à 10:39
Bonjour,

J'ai un serveur xml qui me retourne une chaine de type :
<read status='success'>20.2</read>

Je cherche un moyen simple d'extraire le mot success et le mot 20.2 en utilsant les fonctions xml de VB 2088.

Merci.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
11
Date d'inscription
jeudi 23 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2009
3
Merci
pardon... pour les puriste du .net :

Dim monTag As String = "bcdef"
Dim i1 As Integer = monTag.IndexOf(">")
Dim i2 As Integer = monTag.IndexOf("</", i1 + 1)
Dim mavaleur As String = monTag.Substring(i1 + 1, i2 - i1 - 1)

Dire « Merci » 3

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

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

Commenter la réponse de phila38
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
te faut une requete XPath du genre:

read[@status='success']

faudrait voir la globalité du flux pour être plus précis


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
0
Merci
C'est la globalité du flux.

A chaque fois que j'envoie une commande au serveur il me retourne une réponse de ce type. Rien de plus.

Dans ce genre de cas ou le flux xml est très simple ne vaut-il mieux pas utiliser les fonctions de manipulation de chaine finalement?

Je cherche vraiment le moyen le plus simple car je ne suis pas spécialement programmeur, je bricole simplement des trucs de temps en temps pour répondre à des besoins ponctuel et personnel.

Merci pour votre aide.

Christophe
Commenter la réponse de cs_kraven
Messages postés
11
Date d'inscription
jeudi 23 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2009
0
Merci
Pour du bricolage de ce genre, la manipulation de chaine me parait en effet le plus indiqué; un truc comme ça devrait suffire :

Dim monTag As String = "bcdef"
Dim i1 As Integer = InStr(monTag, ">")
Dim i2 As Integer = InStr(i1 + 1, monTag, "</")
Dim mavaleur As String = Mid(s, i1 + 1, i2 - i1 - 1)
Commenter la réponse de phila38
Messages postés
13
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
13 novembre 2013
0
Merci
Merci pour tes lumières.
Donc effectivement je vais utiliser la manipulation de chaine.

Christophe
Commenter la réponse de cs_kraven