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.NET Discussion :

String en Guid venant de XML


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Points : 40
    Points
    40
    Par défaut String en Guid venant de XML
    Bonjour,

    Voila j'ai une petite erreur sur mon programme que je n'arrive pas a résoudre. Je souhaite caster mon string en guid pour ensuite le mettre dans une classe que j'ai créer celle-ci prend un id en type guid et d'autre paramètre.
    Voila mon code et ce que j'ai essayer de faire sans succès:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    For Each ele In xdoc.Descendants("user")
                    Dim us As New User
                    us.id = New Guid((ele.Element("ID").Value))
                    us.LOGIN = ele.Element("Login").Value
                    us.USER = ele.Element("Username").Value
                    us.PASSWORD = ele.Element("Password")
                    us.ROLE.id = Guid.Parse(ele.Element("IDRole").Value)
                    'us.ROLE.NOMROLE = ele.Element("NomRole").Value
                    'us.ROLE.NIVEAUROLE = ele.Element("NiveauRole").Value
                    'us.ROLE.DESCRIPTIONROLE = ele.Element("DescriptionRole").Value
                    listeUser.Add(us)
     
                Next
    donc voila mon code actuel mais j'ai essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    us.id = Guid.Parse(ele.Element("ID").Value)
    us.id = Guid.ParseExact((ele.Element("ID").Value),"X")
    Il me renvoie l'exception ci-dessous:
    Le Guid doit contenir 32 chiffres et 4 tirets (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

    Cordialement,
    Kévin

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Ben là le message d'erreur indique clairement que le contenu de ele.Element("ID").Value n'est pas dans le bon format pour pouvoir être converti en GUID.

    Mets un point d'arrêt sur la ligne 4, puis passe ta souris sur la propriété Value de cette même ligne. Quel est son contenu lorsque l'erreur est générée ?

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    Merci tout d'abord pour l'interet que tu porte a ma question qui est assez urgente ^^ .

    Voila les informations que tu m'as demander:

    J'ai ajouter une ligne pour récupérer la valeur via un console.writeline.
    La valeur retournée est 1 .

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Si la valeur retournée est 1, tu ne peux pas convertir 1 en GUID Un GUID ça a cette forme : b25b8c38-0d79-46c7-a732-057ae3ac1919.

    Questions :
    - Est-ce que tu n'as que des entiers dans chaque élément ID de ton fichier XML ? Auquel cas, ce que tu cherches à faire n'a pas de sens.

    - Est-ce que tu as un mix d'entiers et de GUID dans les éléments ID ? Si oui, alors il faut que tu testes le type de données que tu récupères, et que tu ne fasses le cast que quand c'est possible. Lorsque ce n'est pas possible, tu peux mettre un GUID vide (Guid.Empty) par exemple.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    Merci pour tes explications je pensais que 1 pouvait être converti bête de ma part ^^.

    Dans mon fichier XML j'avais mis que un entier, donc pas étonnant que ceci ne marche pas ..

    Merci pour ta réponse, puis je te demander comment générer un guid aléatoire. Je m'explique, comme tu l'a remarqué c'est une gestion d'utilisateur. J'ajoute des utilisateurs par la suite et donc je veux générer un guid aléatoire. Cela ce fait t-il automatiquement?

    Cordialement,
    Kévin

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kevin01330 Voir le message
    Merci pour ta réponse, puis je te demander comment générer un guid aléatoire. Je m'explique, comme tu l'a remarqué c'est une gestion d'utilisateur. J'ajoute des utilisateurs par la suite et donc je veux générer un guid aléatoire. Cela ce fait t-il automatiquement?
    Pour tes tests (en mettant de façon manuelle la donnée dans le XML) tu as le site suivant : http://www.guidgenerator.com/

    Pour le code, la ligne suivante System.Guid.NewGuid(); te génère automatiquement un GUID.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    Derniere petite question voila mon fichier.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="utf-8"?>
    <users>
      <user>
        <ID>b25b8c38-0d79-46c7-a732-057ae3ac1919</ID>
        <Login>administrateur</Login>
        <Username> Admin</Username>
        <Password>MotdePasse</Password>
        <IDRole>59ad7740-a7d3-4973-a163-28ac936e26d6</</IDRole>
      </user>  
    </users>
    et le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Console.WriteLine(ele.Element("ID").Value)
                    us.id = Guid.Parse(ele.Element("ID").Value)
                    us.LOGIN = ele.Element("Login").Value
                    us.USER = ele.Element("Username").Value
                    us.PASSWORD = ele.Element("Password")
                    Console.WriteLine(ele.Element("IDROLE").Value)
                    us.ROLE.id = Guid.Parse(ele.Element("IDRole").Value)
    Mais j'ai l'exception suivante : La référence d'objet n'est pas définie à une instance d'un objet.

    Merci h2s84 pour ta réponse. Cela m'aidera grandement pour la suite de mon projet .

  8. #8
    Invité
    Invité(e)
    Par défaut
    Si tu ne nous dis pas à quelle ligne tu as l'exception on ne va pas le deviner à ta place. Fais pas-à-pas détaillé et regarde à quel moment tu as l'exception. Après tu regardes pourquoi la variable est null.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    voila mon code :

    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
     
    For Each ele In xdoc.Descendants("user")
                    Dim us As New User
                    Console.WriteLine(ele.Element("ID").Value)
                    us.id = Guid.Parse(ele.Element("ID").Value)
                    us.LOGIN = ele.Element("Login").Value
                    us.USER = ele.Element("Username").Value
                    us.PASSWORD = ele.Element("Password")
                    Dim t As New Rule
                    t.id = Guid.Parse(ele.Element("IDRole").Value)
                    Console.WriteLine(t.id.ToString)
                    'Console.WriteLine(ele.Element("IDROLE").Value)
                    us.ROLE.id = t.id
                    'us.ROLE.NOMROLE = ele.Element("NomRole").Value
                    'us.ROLE.NIVEAUROLE = ele.Element("NiveauRole").Value
                    'us.ROLE.DESCRIPTIONROLE = ele.Element("DescriptionRole").Value
                    listeUser.Add(us)
    La ligne qui leve cette exception est la suivante:

    us.ROLE.id = t.id
    cordialement,
    Kévin

  10. #10
    Invité
    Invité(e)
    Par défaut
    À première vue je dirai que dans la ligne us.ROLE.id = t.id il y a la propriété ROLE de l'instance us qui est nulle. Vérifie que tu l'as bien initialisé quelque part avant de faire appel à la propriété id.

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    Merci pour ta réponse, tu as avais raison le problème est que le rôle n'était pas initialiser. Bon j'ai quelque soucis pour le traitement mais rien a voir avec le sujet.

    Donc je vous remercie a tous pour votre participation, vous m'avez beaucoup aider.


    Cordialement,
    Kévin

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

Discussions similaires

  1. [DOM] Document XML au format String avec encodage char spéc. xml
    Par kij dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 23/10/2008, 15h04
  2. formater un string venant de xml en javascript
    Par cassy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/08/2007, 14h29
  3. [AJAX] Ajout input avec valeur venant de XML
    Par zulot dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/02/2007, 12h05
  4. Requete XPath: neoud XML et string
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/06/2003, 13h02
  5. [xsl java]Appliquer une XSL à un String contenant doc XML
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 03/04/2003, 15h46

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