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

ASP.NET Discussion :

lire des valeurs dans un flux xml


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut lire des valeurs dans un flux xml
    Bonjour

    Je viens de me mettre sur un problème de lecture d'un flux XML. J'ai lu un tuto qui explique visiblement la base, mais soit je suis trop fatigué et je loupe le truc gros comme une maison, soit j'ai rien compris au XML.

    J'ai besoins de lire un truc tout simple dans un noeud XML (quoique, je ne suis pas sûr que "noeud" soit le bon terme).
    D'abords voici le flux XML que je peu récuérer. Je l'ai vérifié dans un navigateur et ça remonte bien ce que j'attends.
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      <?xml version="1.0" encoding="UTF-8" ?> 
    - <allopass>
      <code>GENERAL</code> 
      <status>OK</status> 
      <id_palier /> 
      <tarif_palier currency="" /> 
      <revers_palier /> 
      <number /> 
      <type /> 
      <country>FR</country> 
      </allopass>

    Maintenant voici le code que j'utilise pour aller lire dans ce flux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            Dim statut As New System.Xml.XmlDocument
            statut.Load("http://payment.allopass.com/api/infocode.apu?code=GENERAL&auth=177592/485934/1803672")
            Response.Write(statut.SelectSingleNode("allopass").Item("status").Value)
    Le Response.Write me retourne rien. Pas d'erreur, pas de donnée, rien, que du vide.

    Du coup, je comprends pas comment lire le flux et accéder au contenu du noeud "status". L'idée c'est de récupérer ce contenu (dans l'exemple "OK") et de la charger dans une varaible String.

    Pouvez m'aider ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write(statut.SelectSingleNode("/allopass/status").InnerText)

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci Tomlev.

    Je commence à comprendre. Tu connaitrais pas un tuto bien conçu pour capter tous les détails de ce genre de procédé ? Parce que je crois que j'asimile trop le XML à du stockage de donnée et vu que je suis plutôt orienté SQL, j'imagine qu'on peut faire la même chose avec les deux.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Je commence à comprendre. Tu connaitrais pas un tuto bien conçu pour capter tous les détails de ce genre de procédé ? Parce que je crois que j'asimile trop le XML à du stockage de donnée et vu que je suis plutôt orienté SQL, j'imagine qu'on peut faire la même chose avec les deux.
    Ben tu n'as pas tort, XML est une forme de stockage de données... on ne peut pas faire du SQL avec, mais il y a aussi une sorte de langage de requête pour XML : XPath. D'ailleurs la chaîne passée en paramètre de SelectSingleNode est une requête XPath. Je n'ai rien vu sur XML dans les tutos VB.NET, mais il y en a quelques uns en C#. A part la syntaxe un peu différente, c'est pareil...

    En voilà un sur XPath :
    http://jfdeterme.developpez.com/tuto...rp/tuto_xpath/

    Sinon tu peux aussi utiliser la sérialisation XML pour lire et écrire du XML, bien que dans ce cas précis c'est sans doute un peu trop lourd par rapport à ton besoin :
    http://tlevesque.developpez.com/dotn...serialization/

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci, je vais potasser tout ça.

    C'est toujours bon d'apprendre un truc ou deux.

  6. #6
    Membre habitué
    Homme Profil pro
    Fortune teller
    Inscrit en
    Octobre 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Fortune teller

    Informations forums :
    Inscription : Octobre 2007
    Messages : 110
    Points : 145
    Points
    145
    Par défaut Lire des valeurs dans un flux xml
    Salut,

    Au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write(statut.SelectSingleNode("/allopass/status").InnerText)
    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write(statut.SelectSingleNode("//status").InnerText)
    Tu y vas directement.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    effectivement... mais en l'occurrence on connait le chemin exact de l'élément statut, donc autant le préciser

  8. #8
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Vos deux remarques soulèvent une question dans mon esprit tortueux : quelle est la méthode qui est la moins gourmande en ressources ?

    Je me doute un peu que ça doit relever du chipotage, mais si j'abuse un peu de cette méthode quelques miliseconde multiplier par le nombre d'appel et je je peux me retrouver avec des secondes entière gagnées.

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Vos deux remarques soulèvent une question dans mon esprit tortueux : quelle est la méthode qui est la moins gourmande en ressources ?

    Je me doute un peu que ça doit relever du chipotage, mais si j'abuse un peu de cette méthode quelques miliseconde multiplier par le nombre d'appel et je je peux me retrouver avec des secondes entière gagnées.
    En théorie je dirais que le chemin complet est plus performant, parce qu'il indique un chemin exact à suivre, donc XPath sait directement où aller chercher l'info. Mais je doute que tu arrives à déceler une différence... SelectSingleNode renvoie le premier noeud qui correspond à la requête, et vu la taille du fichier, ce sera jamais très long. En tous cas ce sera totalement négligeable par rapport au temps qu'il faut pour récupérer le XML en HTTP...

  10. #10
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci

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

Discussions similaires

  1. Récuperer des valeurs dans un fichier xml
    Par chych dans le forum ANT
    Réponses: 0
    Dernier message: 20/01/2011, 16h19
  2. substituer des valeurs dans un fichier xml
    Par awalter1 dans le forum Général Python
    Réponses: 0
    Dernier message: 19/10/2010, 17h41
  3. Ecrire des donnes dans un flux xml
    Par jul-974 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/06/2007, 02h48
  4. [DOM XML] Récupération des attributs dans un flux xml
    Par opeo dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 11/04/2007, 18h35
  5. [VBA-E] Lire des valeurs dans un fichier excel
    Par nicobox dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/05/2006, 16h40

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