2011-08-31 5 views
1

Me ayant un fichier XML local et devez le charger dans le stockage isolé lorsque mon application. commence pour la première fois. mais si j'ouvre ce fichier en utilisant stream OU File.Open, il lance une erreur. Aussi j'ai besoin de stocker ce fichier sous forme sérialisée. S'il vous plaît aider, comme étant nouveau à WP7 et C# pas capable de le casser.Ouvrir un fichier XML local dans WP7

code suivant est utilisé pour ouvrir le fichier XML:

FileStream stream = new FileStream("site.xml", FileMode.Open); 
+0

Pouvez-vous expliquer votre situation un peu plus? Avez-vous déjà ce fichier sur l'appareil? Ou est-ce dans votre projet d'application? Voulez-vous l'enregistrer dans un stockage isolé? –

+0

Pouvez-vous partager le message d'erreur? – Somnath

+0

Oui, le fichier est dans le projet de l'application et j'ai besoin de le stocker dans le stockage isolé. Mais chaque fois que j'opene ce fichier et lance l'application. une exception est lancée comme "Tentative d'accès à la méthode a échoué: System.IO.FileStream..ctor (System.String, System.IO.FileMode)" – Dheeraj

Répondre

1

Vous devez spécifier le mode de FileAccess aussi bien pour une ressource de type contenu, puisque vous ne pouvez pas l'ouvrir en mode écriture.

Essayez de changer votre code:

FileStream stream = new FileStream("site.xml", FileMode.Open, FileAccess.Read); 

Aussi, voir cette question: How to fix exception MethodAccessException during file reading?

+0

Me ouvrant un fichier "Content" site.xml comme suit: FileStream stream = new FileStream ("site.xml", FileMode.Open); – Dheeraj

+0

Voir ma réponse mise à jour. –

2

Si le fichier est une partie de votre projet, vous pouvez ajouter le fichier à votre projet en tant que ressource. Cela signifie que le fichier "Build Action" du fichier doit être "Resource". Et la fonction suivante peut lire le fichier à partir de la ressource du projet.

Stream stream = this.GetType().Assembly.GetManifestResourceStream("Namespace.FileName.FileExtentation"); 

Maintenant, vous pouvez lire le flux en fonction du type de fichier. Si c'est un fichier XML, vous pouvez le lire comme ci-dessous.

À titre d'exemple

XElement element = XElement.Load(stream); 
foreach (XElement phraseElement in element.Elements()) 
{ 
    MyClass foo = new foo(); 
    foreach (XAttribute attribute in phraseElement.Attributes()) 
     foo.Text = attribute.Value; 

} 

Comment écrire à stockage isolé et lire un fichier de stockage isolé? S'il vous plaît consulter le lien suivant

http://www.codebadger.com/blog/post/2010/09/03/Using-Isolated-Storage-on-Windows-Phone-7.aspx

vous pouvez également extraira le lien ci-dessous concernant le stockage de données local pour Windows Phone.

http://msdn.microsoft.com/en-us/library/ff626522%28v=vs.92%29.aspx