J'ai ajouté un customConfig.xml à mon projet.Comment lire localconfig.xml local avec xElement en C#
Je n'arrive pas à lire le fichier dans xElement car j'ai besoin d'un chemin de fichier.
Toute aide est grandement appréciée.
Merci
J'ai ajouté un customConfig.xml à mon projet.Comment lire localconfig.xml local avec xElement en C#
Je n'arrive pas à lire le fichier dans xElement car j'ai besoin d'un chemin de fichier.
Toute aide est grandement appréciée.
Merci
Si vous voulez compiler le fichier à l'assemblée, vous pouvez effectuer les opérations suivantes:
Accédez aux propriétés du fichier nouvellement ajouté customConfig.xml et définir le « Build Action » à 'ressource incorporée'. Le morceau de code suivant vous permet ensuite de créer un TextReader. Le TextRead peut alors être utilisé pour lire le fichier à un XDocument:
Assembly assembly = Assembly.GetExecutingAssembly();
TextReader textReader = new StreamReader(assembly.GetManifestResourceStream(String.Format("{0}.{1}", "NameSpace.Of.File", "customConfig.xml")));
XDocument doc = XDocument.Load(textReader);
foreach (XElement element in doc.Root.Nodes())
{
// do stuff
}
Si vous voulez avoir le fichier XML en plus de votre assemblage (non compilé dans l'ensemble), vous pouvez définir le « Build action » pour 'Aucun' et le 'Copier dans le répertoire de sortie' à 'Toujours copier'. Le chemin pourrait être récupéré de la manière suivante. Je n'ai pas testé.
String strPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
XDocument doc = XDocument.Load(strPath);
foreach (XElement element in doc.Root.Nodes())
{
// do stuff
}
Espérons que cela aide! Florian
@vikp: J'ai remarqué que vous définissez les balises web-config et app-config. Je ne suis pas sûr de ce que vous voulez réaliser. Peut-être que mes solutions proposées ne correspondent pas à votre cas d'utilisation. – Florian
Cela prend tout son sens, merci beaucoup! –