保存 xml 文件 Windows phone 7
Posted
技术标签:
【中文标题】保存 xml 文件 Windows phone 7【英文标题】:Save xml file Windows phone 7 【发布时间】:2011-11-01 08:24:45 【问题描述】:如何保存 xml 文件(代码)? 大家好。我可以读取 xml 文件,但无法保存 xml 文件: 样本 : 课程主题:
public class Subject
public int Id
get;
set;
public Subject()
public string Name
get;
set;
public string Number
get;
set;
班学生:
public class Student
public string Id
get;
set;
public Student()
public string Name
get;
set;
public string IconURI
get;
set;
public List<Subject> Subjects
get;
set;
MainPage.xaml.cs:
public partial class MainPage : PhoneApplicationPage
public MainPage()
InitializeComponent();
public List<Student> Students
get;
set;
加载文件 xml:
private void LoadXML()
Uri uri = new Uri("/DemoWP7;component/Save.xml", UriKind.Relative);
StreamResourceInfo xml = App.GetResourceStream(uri);
XDocument doc = XDocument.Load(xml.Stream);
XElement menu = doc.Descendants("menu").First();
Students = (from student in menu.Descendants("student")
select new Student()
Id = student.Attribute("id").Value,
Name = student.Attribute("name").Value,
IconURI = student.Attribute("icon").Value,
Subjects = (from subject in student.Descendants("subject")
select new Subject()
Name = subject.Attribute("name").Value,
Number = subject.Attribute("number").Value,
).ToList<Subject>()
).ToList<Student>();
我需要保存文件 .xml 与此相同,然后 LoadXML()
<?xml version="1.0" encoding="utf-8" ?>
<menu>
<student id="group1" name="Team A" icon="Images/Team-A.png">
<subject name="Math"
number="72">
</subject>
<subject name="Art"
number="85">
</subject>
</student>
<student id="group2" name="Team D" icon="Images/Team-D.png">
<subject name="History"
number="69">
</subject>
</student>
如何保存xml文件(代码)?
【问题讨论】:
【参考方案1】:出于安全原因,每个应用程序都有自己的文件位置 - 隔离存储。所以,如果你想保存你的文件,你应该这样做:
using(var appStorage = IsolatedStorageFile.GetUserStoreForApplication())
using(var file = appStorage.OpenFile("YourFileName.xml", FileMode.OpenOrCreate))
using(var writer = new StreamWriter(file))
writer.Write("Your data");
【讨论】:
【参考方案2】:您是否考虑过使用XmlSerializer 类,并使用各种属性的属性标记您的主题类?它会让你的代码更简单一点——simple example can be found here。 (并且要保存 Xml 文件,您需要将其写入特定应用程序实例的独立存储中,如果您快速 google 或查看其他答案,您会找到一堆示例)
【讨论】:
以上是关于保存 xml 文件 Windows phone 7的主要内容,如果未能解决你的问题,请参考以下文章
解析来自 Windows Phone 7 中 TCP 套接字的 xml 内容
使用 tcp 套接字在 windows phone 7 上解析 xml 内容