LINQ操作XMl后的问题?
WPFDemo\Data\Data.xml为原数据
追加元素
string xmlFileName = System.IO.Path.Combine(Environment.CurrentDirectory, @"Data\Data.xml");
XDocument xDoc = XDocument.Load(xmlFileName);
xDoc.Root.Add(new XElement("Dish",
new XElement("Name", dish.Name),
new XElement("Category", dish.Category),
new XElement("Comment", dish.Comment),
new XElement("Score", dish.Score)));
xDoc.Save("Data\\Data.xml", SaveOptions.None);
修改的Data却是WPFDemo\bin\Debug\Data\Data.xml
过不了多久追加的元素会还原和WPFDemo\Data\Data.xml一样,
这问题怎么解决,
------解决方案--------------------Environment.CurrentDirectory 就是你EXE运行的目录,不就是bin\Debug?
------解决方案--------------------如果你设置 WPFDemo\Data\Data.xml 的Copy to OutDirectory为 Copy always 或Copy if newer,
那下次运行EXE时,当然会用WPFDemo\Data\Data.xml覆盖WPFDemo\bin\Debug\Data\Data.xml
xDoc.Save("Data\\Data.xml", SaveOptions.None);
=================
xDoc.Save(xmlFileName?, SaveOptions.None);
------解决方案--------------------你可以为你的xml文件指定一个访问目录。不管是读取还是写入都访问这个目录