首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

LINQ操作XMl后的有关问题

2013-07-09 
LINQ操作XMl后的问题?WPFDemo\Data\Data.xml为原数据追加元素string xmlFileName System.IO.Path.Combin

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文件指定一个访问目录。不管是读取还是写入都访问这个目录

热点排行