ArgumentException lors d'une save de XML

vitelize Messages postés 6 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 6 juin 2011 - 6 juin 2011 à 13:49
vitelize Messages postés 6 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 6 juin 2011 - 6 juin 2011 à 16:09
Hello,

j'ai un problème que je n'arrive pas a résoudre et pour laquelle j'aurais besoin d'aide.

public bool EcrireConfig(string Element, string Valeur)
        {
            try
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(fichier);
                XmlElement root = xmlDoc.DocumentElement;
                XmlNode elt = root.SelectSingleNode(Element);
                elt.InnerText = Valeur;
                xmlDoc.Save(fichier);
            }
            catch (FileNotFoundException)
            {
                return false;
            }
            /*catch (ArgumentException)
            {
                return false;
            }*/
            return true;
        }


Lorsque j'appel cette methode, j'ai une exception (ArgumentException) sur le Save... "Les formats URI ne sont pas pris en charge."
J'ai bien compris que le problème c'étais que ça n'aimait pas les adresses locales.... mais je ne comprend pas comment résoudre le problème (je souhaite que le fichier reste a la même place après édition)

Une idée miracle?

Merci d'avance

Vitel

3 réponses

vitelize Messages postés 6 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 6 juin 2011
6 juin 2011 à 14:06
J'ai oublié de préciser que fichier c'est égal à :

string fichier = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Configuration.xml";
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
6 juin 2011 à 14:16
Bonjour,

Essaye : xmlDoc.Load(fichier.ToString());

XmlDocument.Save Method : Aucune méthode Save ne prend un Uri comme paramètre... il suffit de lire le message d'erreur ;)


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
0
vitelize Messages postés 6 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 6 juin 2011
6 juin 2011 à 16:09
Ok j'ai testé avec
string fichier= Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)+"\\Configuration.xml";


a la place de
string fichier = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Configuration.xml";


et tout ce suite ca marche mieux...

Merci du soutien :)
0
Rejoignez-nous