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

Signaler
Messages postés
8
Date d'inscription
mardi 16 janvier 2007
Statut
Membre
Dernière intervention
20 février 2007
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
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

Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
10 février 2009
2
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.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
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-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
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
*/
Messages postés
8
Date d'inscription
mardi 16 janvier 2007
Statut
Membre
Dernière intervention
20 février 2007

Et bien merci pour tout ces renseignement je vais voir desuite!!

euh dès que je trouve je marque lol
Messages postés
8
Date d'inscription
mardi 16 janvier 2007
Statut
Membre
Dernière intervention
20 février 2007

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
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
XmlConvert.ToString à l'enregistrement, XmlConvert.ToSingle à la lecture ?

/*
coq
MVP Visual C#
CoqBlog
*/