读书人

LINQ操作XMl后的有关问题

发布时间: 2013-07-09 09:50:48 作者: rapoo

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一样,
这问题怎么解决, XML LINQ
[解决办法]
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文件指定一个访问目录。不管是读取还是写入都访问这个目录

读书人网 >.NET

热点推荐