这是第六篇关于系列短文章“WP7 Isolated Storage系列”,专注于真实实用,并且有源代码的例子,而不是存粹理论。接下来我将要讨论关于如何从Isolated Storage中读取数据和保存数据到Isolated Storage。
·
WP7 Isolated Storage 系列 - 1.Isolated Storage简介
·
WP7 Isolated Storage 系列 - 2.创建文件夹和文件
·
WP7 Isolated Storage 系列 - 3.使用IsolatedStorageSettings存储数据
·
WP7 Isolated Storage 系列 - 4.读取和存储文本文件
·
WP7 Isolated Storage 系列 - 5.使用XmlSerializer读取和存储XML文件
·
WP7 Isolated Storage 系列 - 6.使用XmlWriter读取和存储XML文件
·
WP7 Isolated Storage 系列 - 7.读取和存储图像
·
WP7 Isolated Storage 系列 - 8.读取和存储拍摄的图像
·
WP7 Isolated Storage 系列 - 9.读取和存储二进制文件
·
WP7 Isolated Storage 系列 - 10.文件操作
·
WP7 Isolated Storage 系列 - 11.建议和最佳实践
·
WP7 Isolated Storage 系列 - 12.开源数据库和帮助库文件
让我们从创建一个简单的Windows Phone 7工程开始。下一步需要添加下面的namespaces到MainPage.xaml.cs中去(或者你可以在另一个页面中使用这个代码):
using System.Xml; using System.IO.IsolatedStorage; using System.IO;
读取和保存XML文件到Isolated Storage中在WP7程序里是一件非常普通的事情。在我之前的文章里面我讲述了如何使用XmlSerializer来写入/读取XML文件,你可以看下面关于这篇文章的链接:WP7
Isolated Storage 系列 - 5.使用XmlSerializer读取和存储XML文件。在这篇文章里面我们将焦点放在如何使用XmlWriter来做这件事情。
注意:当对文件进行操作时总是使用using声明,因为它提供了一个方便的语法来确保正确的使用IDisposable对象。
使用XmlWriter来保存新的XML文件到Isolated Storage中去
在这个例子中我们将创建一个新的名为People2.xml的XML文件到Isolated Storage中,然后写入数据进去。
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream("People2.xml", FileMode.Create, myIsolatedStorage)) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; using (XmlWriter writer = XmlWriter.Create(isoStream, settings)) { writer.WriteStartElement("p", "person", "urn:person"); writer.WriteStartElement("FirstName", ""); writer.WriteString("Kate"); writer.WriteEndElement(); writer.WriteStartElement("LastName", ""); writer.WriteString("Brown"); writer.WriteEndElement(); writer.WriteStartElement("Age", ""); writer.WriteString("25"); writer.WriteEndElement(); // Ends the document writer.WriteEndDocument(); // Write the XML to the file. writer.Flush(); } } }
使用StreamReader从Isolated Storage中读取XML文件数据
在这个例子中我们将首先从Isolated Storage中打开已存在的名为People.xml的XML文件并读取其中的数据,然后显示其中的内容到一个TextBlock中去。
try { using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) { IsolatedStorageFileStream isoFileStream = myIsolatedStorage.OpenFile("People2.xml", FileMode.Open); using (StreamReader reader = new StreamReader(isoFileStream)) { this.tbx.Text = reader.ReadToEnd(); } } } catch { }
注意:当对文件进行操作时总是使用using声明,因为它提供了一个方便的语法来确保正确的使用IDisposable对象。
在这篇文章中我谈到了关于使用XmlWriter从Isolated Storage中读取和保存XML文件。这里有所有的源代码(包括之前文章中提到的所有的关于XmlWriter和XmlSerializer的例子):
敬请期待接下来的文章。我希望这些能够帮助的到你。