这是第六篇关于系列短文章“WP7 Isolated Storage系列”,专注于真实实用,并且有源代码的例子,而不是存粹理论。接下来我将要讨论关于如何使用XmlWriter读取和存储数据到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 系列 - 6.使用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中打开一个已存在的名为People2.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读取和保存XML文件到Isolated Storage中。这里有所有的源代码(包括之前文章中提到的所有的关于XmlWriter和XmlSerializer的例子):
敬请期待接下来的文章。我希望这些能够帮助的到你。