C# Windows 8应用商店应用-XmlWriter未创建文件
我正在制作一个Windows 8应用商店应用程序,我想将数据保存在XML文件中。我使用下面的代码编写XML文件。我已经在一个控制台应用程序中测试了这段代码,它可以正常工作。它在我的商店应用程序中不起作用C# Windows 8应用商店应用-XmlWriter未创建文件,c#,xml,windows-phone-8,C#,Xml,Windows Phone 8,我正在制作一个Windows 8应用商店应用程序,我想将数据保存在XML文件中。我使用下面的代码编写XML文件。我已经在一个控制台应用程序中测试了这段代码,它可以正常工作。它在我的商店应用程序中不起作用 //Creating a list of projects List<Project> projectslist = new List<Project>(); projectslist.Add
//Creating a list of projects
List<Project> projectslist = new List<Project>();
projectslist.Add(new Project(1, "JOTD", new DateTime(2015, 1, 18), new DateTime(2016, 1, 30)));
projectslist.Add(new Project(2, "EpicProjects", new DateTime(2016, 1, 31), new DateTime(2016, 5, 30)));
//Creating the file
using (XmlWriter writer = XmlWriter.Create(new StringBuilder("Resources/save.xml")))
{
writer.WriteStartDocument();
writer.WriteStartElement("Projects");
//Writing the attributes of the projects
foreach (Project item in projectslist)
{
writer.WriteStartElement(item._name);
System.Diagnostics.Debug.WriteLine("name : " + item._name);
writer.WriteElementString("id", item._id.ToString());
System.Diagnostics.Debug.WriteLine("id : " + item._id.ToString());
writer.WriteElementString("startDate", item._startDate.ToString());
System.Diagnostics.Debug.WriteLine("startDate : " + item._startDate);
writer.WriteElementString("endDate", item._endDate.ToString());
System.Diagnostics.Debug.WriteLine("endDate : " + item._endDate);
writer.WriteEndElement();
System.Diagnostics.Debug.WriteLine("Writing " + item.ToString());
}
writer.WriteEndElement();
writer.WriteEndDocument();
}
//创建项目列表
列表项目列表=新列表();
项目列表添加(新项目(1,“约特”,新日期时间(2015,1,18),新日期时间(2016,1,30));
项目列表添加(新项目(2个,“EpicProjects”)、新日期时间(2016年1月31日)、新日期时间(2016年5月30日));
//创建文件
使用(XmlWriter=XmlWriter.Create(新建StringBuilder(“Resources/save.xml”))
{
writer.WriteStartDocument();
WriteStarteElement(“项目”);
//编写项目的属性
foreach(项目列表中的项目项)
{
writer.WriteStart元素(项目名称);
System.Diagnostics.Debug.WriteLine(“名称:“+项目名称”);
writer.WriteElementString(“id”,item.\u id.ToString());
System.Diagnostics.Debug.WriteLine(“id:+item.\u id.ToString());
writer.WriteElementString(“startDate”,item.\u startDate.ToString());
系统.诊断.调试.写入线(“开始日期:+项._开始日期”);
writer.WriteElementString(“endDate”,item.\u endDate.ToString());
System.Diagnostics.Debug.WriteLine(“结束日期:+项.\u结束日期”);
writer.writeedelement();
System.Diagnostics.Debug.WriteLine(“Writing”+item.ToString());
}
writer.writeedelement();
writer.WriteEndDocument();
}
文件save.xml以前不存在,我希望编写器创建它。但是没有创建任何文件…:'(
请不要给我流和等待的解决方案,因为它会导致我一个未经授权的访问异常,我没有找到任何显示如何解决它的内容
提前感谢。好的,
XmlWriter.Create(新的StringBuilder(“Resources/save.xml”))
不会写入任何文件,它会写入您甚至不存储在任何地方的StringBuilder。好的,解决方案是我以前创建了StringBuilder,将其传入create参数,然后将StringBuilder写入XML文件。但是,既然存储应用中没有文件类,我如何将此StringBuilder写入文件?我不做Windows 8开发,我只是因为XML和C#标记才看到了这篇文章。至于写StringBuilder,不,我不认为这是一种方法,我会创建一个文件并在上面打开一个流,然后使用XmlWriter。在这个流上创建。熟悉Windows Phone开发的人需要告诉你d详细说明或解决您指出的任何问题,您可能希望使用示例和收到的确切错误消息编辑您的问题。非常感谢!我将尝试此操作。问题是我没有收到任何错误消息。UnauthorizedAccessException不是因为您使用了streams:而是因为您试图将文件保存到应用程序无法访问的某个位置sn没有写入权限。应用程序对其安装文件夹具有只读访问权限,对其应用程序数据文件夹具有读写权限,除用户权限外,对其他地方没有访问权限。