2011-05-27 8 views
5

J'ai dans mon projet WPF un dossier "assets" par les polices, les images et les fichiers XML. Comment puis-je lire les fichiers XML à partir du répertoire du projet en utilisant C#? J'ai essayé sur l'Assemblée, mais le fichier ne peut pas être trouvé. À propos de XAML peut très facilement télécharger des images de ce dossier.Charger le fichier XML à partir du répertoire de projet

Lorsque j'utilise la chaîne suivante, le fichier est introuvable. Comment puis-je charger mon fichier XML à partir du répertoire du projet?

string stream = "pack://application:,,,/ReferencedAssembly;component/assets/myxml.xml"; 

Merci d'avance pour toute aide.

+1

Pourquoi ne pas mettre votre fichier dans la ressource du projet, de cette façon, il sera intégré dans l'assemblage. –

Répondre

5

Une solution pour charger votre fichier, en utilisant LINQ to Xml, est:

XDocument myxml = XDocument.Load(@"assets\myxml.xml"); 
+11

et assurez-vous que vous avez défini "Copier dans le répertoire de sortie" sur true. Je me trompe toujours et je me demande pourquoi ça ne marche pas :) –

+0

si facile, merci! – Matapolo

+0

Où doit être défini "Copier dans le répertoire de sortie"? Dans XDocument? – Matapolo

0

J'ai une question très similaire, je n'ai pas pu charger le fichier à partir du dossier dans la structure du projet. Tous les paramètres étaient corrects, mais il renvoyait toujours une erreur d'E/S.

Toutes les réponses sont probablement correct - mais dans mon cas, il veut toujours charger le fichier. Il est nécessaire de changer une propriété plus:

  • Build Action = intégré des ressources
  • Copier Output Directory = Copie toujours

Sans le définir comme « ressource incorporée » il n'a pas été accessible à partir de mon programme. Après le changement, cela fonctionne.

Questions connexes