写入xml文件C#WP7
代码如下……我在最后一行得到了错误:loadedData.Save(“levelNo.xml”) 我不明白为什么,因为XDocument中有一个方法具有这种类型的参数:Save(String)将这个XDocument序列化为一个文件,覆盖现有文件(如果存在) 我得到的错误:写入xml文件C#WP7,c#,xml,linq-to-xml,C#,Xml,Linq To Xml,代码如下……我在最后一行得到了错误:loadedData.Save(“levelNo.xml”) 我不明白为什么,因为XDocument中有一个方法具有这种类型的参数:Save(String)将这个XDocument序列化为一个文件,覆盖现有文件(如果存在) 我得到的错误: 错误2:参数1:无法从“字符串”转换为“System.Xml.XmlWriter” 错误1:与“System.Xml.Linq.XDocument.Save(System.Xml.XmlWriter)”匹配的最佳重载方法具有
错误2:参数1:无法从“字符串”转换为“System.Xml.XmlWriter”
错误1:与“System.Xml.Linq.XDocument.Save(System.Xml.XmlWriter)”匹配的最佳重载方法具有一些无效参数
XDocument loadedData = XDocument.Load("levelNo.xml", LoadOptions.None);
XElement root = loadedData.Root;
XElement asset = (XElement)root.FirstNode;
asset.RemoveAll();
asset.Add(new XElement("level", levelNo));
asset.Add(new XElement("mana", player.Mana));
asset.Add(new XElement("score", score));
loadedData.Save("levelNo.xml");
我真的需要一些帮助…我已经搜索了几个小时的解决方案…我的目标是修改levelNo.xml文件,然后重写它…您希望将文件保存到哪里?在Windows Phone 7中,您需要使用独立存储。有一个例子,其中有各种各样的例子,包括读取和写入XML 最终,您需要打开,然后创建,然后写入:
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var stream = store.CreateFile("levelNo.xml"))
{
loadedData.Save(stream);
}
}
您希望将文件保存到哪里?在Windows Phone 7中,您需要使用独立存储。有一个例子,其中有各种各样的例子,包括读取和写入XML 最终,您需要打开,然后创建,然后写入:
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var stream = store.CreateFile("levelNo.xml"))
{
loadedData.Save(stream);
}
}
嗯,问题是我可以很容易地从xml文件中读取数据,而不需要使用独立的存储……难道我不能在写数据时也这样做吗?@Teshte:你真的能吗?你真的做到了吗?请记住,
XDocument.Load
可以接受URI,这在WP7中是有意义的。code
使用(System.Xml.XmlReader reader=System.Xml.XmlReader.Create(“levelNo.Xml”){reader.MoveToContent();reader.ReadToFollowing(“level”);int lvl=Convert.ToInt32(reader.ReadInnerXml())code
我就是这样读的…请记住,我将文件添加到了我拥有所有其他类的地方…我知道编程不好..但是隔离存储和模拟器..从我读到的..是一旦关闭模拟器,这些数据就会丢失..@Teshte:那会编译的,当然……但是它能工作吗?它从哪里读取数据?(你希望能够写入相同的存储区域吗?)我这样做是因为它让我的测试变得更容易…这就是为什么我想从最初的帖子开始编写xml…但是…我会尝试像你说的那样做隔离存储…谢谢:)嗯,问题是我可以很容易地从xml文件中读取,而无需使用独立的存储…难道我不能在编写时也这样做吗?@Teshte:真的吗?你真的可以吗?请记住,XDocument.Load
可以获取URI,这在WP7中是有意义的。code
使用(System.Xml.XmlReader reader=System.Xml.XmlReader.Create(“levelNo.Xml”){reader.MoveToContent();reader.ReadToFollowing(“level”);int lvl=Convert.ToInt32(reader.ReadInnerXml())code
我就是这样读的…请记住,我将文件添加到了我拥有所有其他类的地方…我知道编程不好..但是隔离存储和模拟器..从我读到的..是一旦关闭模拟器,这些数据就会丢失..@Teshte:那会编译的,当然……但是它能工作吗?它从哪里读取数据?(你希望能够写入相同的存储区域吗?)我这样做是因为它让我的测试变得更容易…这就是为什么我想从最初的帖子开始编写xml…但是…我会尝试像你说的那样做隔离存储…谢谢:)