2011-08-31 3 views
1

У меня есть локальный xml-файл и вам нужно загрузить его в изолированное хранилище, когда мое приложение. начинается в первый раз. но если я открываю этот файл, используя поток ИЛИ File.Open, он выдает ошибку. Также мне нужно сохранить этот файл в сериализованной форме. Пожалуйста, помогите, как новый для WP7 и C#, не способный взломать его.Открыть локальный XML-файл в WP7

используется следующий код для открытия файла XML:

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

Можете ли вы объяснить вашу ситуацию немного больше? У вас уже есть этот файл на устройстве? Или это в вашем проекте? Вы хотите сохранить его в изолированном хранилище? –

+0

Можете ли вы поделиться сообщением об ошибке? – Somnath

+0

Да, файл находится в проекте приложения, и мне нужно сохранить его в изолированном хранилище. Но всякий раз, когда я открываю этот файл и запускаю приложение. исключение генерируется как «Попытка доступа к методу не удалась: System.IO.FileStream..ctor (System.String, System.IO.FileMode)» – Dheeraj

ответ

1

Вы должны указать режим FileAccess, а также для любого контента типа ресурса, так как вы не можете открыть его в режиме записи.

Попробуйте изменить свой код:

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

Кроме того, увидеть этот вопрос: How to fix exception MethodAccessException during file reading?

+0

Я открываю файл «Content» site.xml следующим образом: FileStream stream = новый FileStream («site.xml», FileMode.Open); – Dheeraj

+0

См. Мой обновленный ответ. –

2

Если файл является частью вашего проекта, то вы можете добавить файл в проект в качестве ресурса. Это означает, что файл «Build Action» файла должен быть «Ресурс». И следующая функция может прочитать файл из ресурса проекта.

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

Теперь вы можете прочитать поток в соответствии с типом файла. Если это файл XML, вы можете прочитать его, как показано ниже.

В качестве примера

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; 

} 

Как написать изолированное хранилище и прочитать файл из изолированного хранилища? Пожалуйста, проверьте ссылку

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

Также вы можете оформить по ссылке ниже относительно локального хранилища данных для Windows Phone.

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

Смежные вопросы