Création d'un fichier XML, Probleme de lecture

MisterKad Messages postés 8 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 20 février 2007 - 16 févr. 2007 à 10:22
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 24 févr. 2007 à 10:13
Bonjour,

J'ai un soucis avec un chargement de fichier XML.
J'ai créé une methode pour créer un fichier xml qui m'enregiste des parametres de vector3.(position sur la scene).
Le probleme c'est qu'a l'enregistrement le "float" est enregistrer avec un point au lieu d'une virgule(normal me direz vous!)
Et bien lorsque je veux lire ce fichier et recuperer la valeur contenu dans la balise :

 XmlNode objTraX = xmlDoc.SelectSingleNode("/PoolProject/OBJ_MODEL/TranslationX");
              
trans.X = float.Parse(objTraX.InnerText);       //(trans.x est la coordonnée X d' un vector3 nommé trans)

Il se produit une erreur qui me dit qu'il ne peut pas convertir un string(contenu de la balise) en float(type necessaire a mon vecteur).
Et comme par magie si je modifie manuellement mon fichier en remplacé ce fameu point par une virgule, sa marche!

Si quelqu'un pouvait m'aider sa serais sympa

euh dès que je trouve je marque lol

6 réponses

t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
16 févr. 2007 à 11:00
Salut, ce ne serait pas lié à un problème de ressource en fonction de la culture choisie: il me semble que VS change la virgule en point ou l'inverse selon la culure.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
16 févr. 2007 à 18:12
Oui, c'est un problème de culture.
Regarde du côté des surcharges de Parse ou TryParse, tu peux lui passer un IFormatProvider...

<hr />
-Blog-
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
16 févr. 2007 à 23:46
Salut,

Et ce n'est pas spécifique à l'IDE mais à .NET en lui même.
Le mieux dans ce genre de cas est encore d'être indépendant de la culture.
Pour le XML, utilisez la classe XmlConvert.

/*
coq
MVP Visual C#
CoqBlog
*/
0
MisterKad Messages postés 8 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 20 février 2007
19 févr. 2007 à 17:51
Et bien merci pour tout ces renseignement je vais voir desuite!!

euh dès que je trouve je marque lol
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MisterKad Messages postés 8 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 20 février 2007
19 févr. 2007 à 18:19
je comprend pas vraiment la en fait!, j'ai utilisé la surcharge specifique au float et sa marche pas

 XmlNode objTraX = xmlDoc.SelectSingleNode("/PoolProject/OBJ_MODEL/TranslationX");
                   string s = objTraX.InnerText;

                   trans.X  =float.Parse(s,System.Globalization.NumberStyles.Float);
je sent que sa va ce debloquer d'ici peu lol

euh dès que je trouve je marque lol
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
24 févr. 2007 à 10:13
XmlConvert.ToString à l'enregistrement, XmlConvert.ToSingle à la lecture ?

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous