scoubidou944
Messages postés714Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention19 janvier 2017
-
8 avril 2005 à 20:28
scoubidou944
Messages postés714Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention19 janvier 2017
-
20 avril 2005 à 13:06
Actuellement, mon programme utilise un fichier Ini pour sa configuration.
Voulant migrer ce fichier vers un format XML, plusieurs choix sont possibles.
- Fouiner dans le namespace System.Configuration
- Utiliser les fonctions bas niveau de XML (XmlTextWriter, WriteStartElement....)
- Utiliser un DataSet avec ReadXml & WriteXml
- Base des Registres
- une solution que j'aurais oublié ?
La question : Quel est donc le meilleur choix pour stocker ses parametres de config dans un fichier XML ou autre ?
Merci
----------------------------
C++ forever
C# amateur
Code a mettre dans le Application_Start ou autre init :
//on stocke le fichier dans un objet XML
XmlDocument xmlConnectConfiguration = new XmlDataDocument ();
StreamReader txtReader = new StreamReader( Server.MapPath("")+ "\\..\\config.xml",true);
XmlTextReader XMLreader = new XmlTextReader( txtReader);
xmlConnectConfiguration.Load(XMLreader);
// Infos nécessaires à la génération d'un doc PDF
string pdfPath = xmlConnectConfiguration.SelectSingleNode("//Config/Path/pdfPath").FirstChild.Value;
// Chemin du fichier de log
string logPath = xmlConnectConfiguration.SelectSingleNode("//Config/Path/excelPath").FirstChild.Value;
//on récupère les infos nécessaires pour la connection
string source = xmlConnectConfiguration.SelectSingleNode ("//Config/SQLSERVER/source").FirstChild.Value;
string password = xmlConnectConfiguration.SelectSingleNode ("//Config/SQLSERVER/password").FirstChild.Value;
string login = xmlConnectConfiguration.SelectSingleNode ("//Config/SQLSERVER/login").FirstChild.Value;
string server = xmlConnectConfiguration.SelectSingleNode ("//Config/SQLSERVER/server").FirstChild.Value;
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 9 avril 2005 à 18:35
Une solution oubliée est la sérialisation.
Dans pas mal de situation (surtout pour les fichiers de config) c'est une solution idéale et simple à implémenter....
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 9 avril 2005 à 20:20
Mais y'a pas grand chose à comprendre, tu as un object que tu veux sérialiser et le framework t'offre le XmlSerializer qui met entre autres deux méthodes à disposition, Serialize(object o, string path) et Deserialize(string path). C'est tout!
Ha oui, la class de l'object à (de)serializer doit implémenter ISerialzable je crois, il faut faire qqch comme
[Serializable]
Class Test
{
// le reste
}
Y'a pleins d'exemples de code-sources sur ce site ! Suffit de chercher un peu...
mais pourquoi doit on forcément avoir un constructeur par défaut public ainsi que des membres public pour que ca passe ?
Parce que si je n'ai pas envie d'exporter vers l'extérieur certains membres je fais comment ?
----------------------------
C++ forever
C# amateur