Acceder à un fichier xml pas modifiable (dll ou autre)

Résolu
SyDaze Messages postés 71 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 8 juin 2007 - 3 janv. 2006 à 17:24
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 4 janv. 2006 à 21:27
Bonjour,


Je dois exploiter un fichier XML dans mon programme, il faut que ce fichier ne soit pas modifiable par l'utilisateur.


Voilà comment j'ai procédé: avec l'utilitaire al.exe, j'ai placé mon fichier XML dans un assemblage "xml.resources.dll"


Par la suite je ne parviens pas à charger l'assemblage et à accéder au
fichier XML qui se trouve à l'intérieur à partir du code. J'ai essayé
avec la méthode assembly.load mais sans succès.

Voilà ma question: est ce que le fait de placer le fichier xml
dans un assemblage est une bonne solution ou je suis complètement à
coté?


Si cela est une bonne solution, comment accéder au fichier XML?


Merci.

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 janv. 2006 à 22:04
Salut,

Pourquoi pas après tout.

Exemple :
Assembly asm = Assembly.LoadFile(assemblyPath);
XmlDocument doc = new XmlDocument();
StreamReader sr = new StreamReader(asm.GetManifestResourceStream(resourceName));
doc.LoadXml(sr.ReadToEnd());
sr.Close();

(l'Assembly est chargé dans le domaine de l'application courante)

/*
coq
MVP Visual C#
*/
3
SyDaze Messages postés 71 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 8 juin 2007
4 janv. 2006 à 09:37
Genial ça fonctionne, merci!

Par simple curiosité quand tu dis "Pourquoi pas après tout" cela veut dire que tu aurais une autre façon de faire
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 janv. 2006 à 21:27
Euh non, je disais juste ça comme ça.
Je ne vois pas vraiment d'inconvénient à ce genre de chose sur ce coup là.

Tu aurais peut être intérêt à regarder pour charger l'assembly dans un autre AppDomain afin de pouvoir le décharger après l'extraction des données, à toi de voir.

/*
coq
MVP Visual C#
*/
0
Rejoignez-nous