OVH Cloud OVH Cloud

Fichier Xml dans une assembly.

1 réponse
Avatar
Pérégrin Dev
Bonne année tout le monde,
Lors de la conception de l'application, j'intègre à mon projet un
fichier Xml pour peupler une datagrid. Comment puis je avoir accés au
fichier xml présent dans l'assemblée pour qu'il puisse être source de
données pour le composant ? Je pense qu'il est possible avec
System.Reflexion, mais comment...
Merci de vos réponses.

1 réponse

Avatar
Simon Mourier [MS]
Il faut insérer le fichier dans le projet, et changer le paramètre du
fichier "Build Action" à "Embedded Resource".

Ensuite on peut y accéder comme ceci par exemple:

public class MyClass
{
private static XmlDocument _dataSource;

public static XmlDocument DataSource
{
get
{
if (_dataSource == null)
{
Assembly assembly = typeof(MyClass).Assembly;
Stream stream =
assembly.GetManifestResourceStream("MyNamespace.MyClass.xml");
_dataSource = new XmlDocument();
_dataSource.Load(stream);
stream.Close();
}
return _dataSource;
}
}

etc...

Le chemin "MyNamespace.MyClass.xml" dépend vraiment de la position du
fichier dans l'assembly, par rapport aux namespaces, etc.... Pour en être
sûr, une des méthodes les plus simples consiste à ouvrir l'assembly une fois
compilée avec reflector www.aisto.com/roeder/dotnet/, et regarder dans
"Resources".
Simon.


"Pérégrin Dev <"info" <NoSpam> a écrit dans le message de news:

Bonne année tout le monde,
Lors de la conception de l'application, j'intègre à mon projet un fichier
Xml pour peupler une datagrid. Comment puis je avoir accés au fichier xml
présent dans l'assemblée pour qu'il puisse être source de données pour le
composant ? Je pense qu'il est possible avec System.Reflexion, mais
comment...
Merci de vos réponses.