急急急!!保存xml文件时,弹框“该文件已在源编辑器之外被修改是否重新加载它??”

qinglongtengfei 2010-09-09 02:05:28
#region##将图片保存为xml格式文件
/// <summary>
/// 将图片保存为xml格式文件
/// </summary>
public void SaveXML(int AlbumId)
{
string path = "gallery/Madeira/gallery.xml";
string pathUrl = Server.MapPath(path);
FileInfo file = new FileInfo(pathUrl);


System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument(); //加入XML的声明段落
System.Xml.XmlNode xmlnode = xmldoc.CreateNode(System.Xml.XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode); //加入一个根元素
System.Xml.XmlElement xmlelem = xmldoc.CreateElement("simpleviewerGallery");



//将每个字段值 追加到XML中
xmlelem.SetAttribute("maxImageHeight", "1024");
xmlelem.SetAttribute("maxImageWidth", "1024");
xmlelem.SetAttribute("textColor", "0xFFFFFF");
xmlelem.SetAttribute("frameColor", "0xffffff");
xmlelem.SetAttribute("frameWidth", "20");
xmlelem.SetAttribute("stagePadding", "40");
xmlelem.SetAttribute("thumbnailColumns", "3");
xmlelem.SetAttribute("thumbnailRows", "3");
xmlelem.SetAttribute("navPosition", "left");
xmlelem.SetAttribute("title", "Madeira");
xmlelem.SetAttribute("enableRightClickOpen", "true");
xmlelem.SetAttribute("navPosition", "left");
xmlelem.SetAttribute("backgroundImagePath", "left");
xmlelem.SetAttribute("thumbPath", "images/");
xmlelem.SetAttribute("imagePath", "images/");
xmldoc.AppendChild(xmlelem);




System.Collections.Generic.List<LiaoJieWebModels.Photo> list = LiaoJieWebBLL.PhotoManager.GetPhotoByAlbumId(AlbumId);
foreach (LiaoJieWebModels.Photo photo in list)
{
System.Xml.XmlElement xmlelem1 = xmldoc.CreateElement("", "image", "");
xmlelem.AppendChild(xmlelem1);

System.Xml.XmlElement xmlelem2 = xmldoc.CreateElement("", "filename", "");
System.Xml.XmlText xmltext2 = xmldoc.CreateTextNode(photo.PhotoUrl);
xmlelem2.AppendChild(xmltext2);
xmlelem1.AppendChild(xmlelem2);

System.Xml.XmlElement xmlelem3 = xmldoc.CreateElement("", "caption", "");
System.Xml.XmlText xmltext3 = xmldoc.CreateTextNode(photo.PhotoName);
xmlelem3.AppendChild(xmltext3);
xmlelem1.AppendChild(xmlelem3);
}
try
{

if (file.Exists)
file.Delete();
xmldoc.Save(pathUrl);
}
catch (Exception e)
{ //显示错误信息
Console.WriteLine(e.Message);
}
Console.ReadLine();
}
#endregion
...全文
540 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanyuano 2012-07-25
  • 打赏
  • 举报
回复
一般这个文件是个.h的头文件,是在编译过程中自动生成的,所以每重新生成一次都会被修改,所以有这个提示。

解决办法:

在VS中编辑器中关闭这个对应的文件即可。

huangxinpku 2012-05-25
  • 打赏
  • 举报
回复
怎么解决的?楼主?????
qihaiyan1989 2010-11-09
  • 打赏
  • 举报
回复
恩。谢谢了。嘿嘿。
qihaiyan1989 2010-11-01
  • 打赏
  • 举报
回复
请问是如何解决的呀,我的xml必须要随时更改,但是又总是弹出这个框。
qinglongtengfei 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qihaiyan1989 的回复:]
请问是如何解决的呀,我的xml必须要随时更改,但是又总是弹出这个框。
[/Quote]
我当时做的是相册功能,一共是4个类别的相册,读写用的一个xml文件,后来修改成一一对应,4各类别相册分开存贮,用了4个xml就ok了,并没有研究那个弹框错误究竟是哪里引起的。
mengsorry 2010-09-09
  • 打赏
  • 举报
回复
请问 LZ 在这里面做了什么LiaoJieWebModels.Photo
代码除了 LiaoJieWebModels.Photo 部分不知道是干什么的,其他的都应该没错的,当然LZ最好写些代码,确认是否有哪些文件夹,不然XML不会保存的
if(!Directory.Exists(sPath))
{
Directory.CreateDirectory(sPath);
}

qinglongtengfei 2010-09-09
  • 打赏
  • 举报
回复
谢谢各位已经解决了。。。。
createTim 2010-09-09
  • 打赏
  • 举报
回复
chazikai24 2010-09-09
  • 打赏
  • 举报
回复
把xml文件从vs中关掉,就不会报错了
leffort 2010-09-09
  • 打赏
  • 举报
回复
仔细看了你的代码,代码写的没问题!
如果你没有上面chazikai24说的问题,string path = "gallery/Madeira/gallery.xml";
请将文件夹gallery/Madeira包含在项目中。
qinglongtengfei 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chazikai24 的回复:]
那就是你vs打开了这个xml文件,然后你用记事本或者别的工具修改了这个xml并且保存了,就报这个错。选重新加载就行了,没事的
[/Quote]

也没有用别的打开。。。第二次创建是就会出这个。。
chazikai24 2010-09-09
  • 打赏
  • 举报
回复
那就是你vs打开了这个xml文件,然后你用记事本或者别的工具修改了这个xml并且保存了,就报这个错。选重新加载就行了,没事的
qinglongtengfei 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chazikai24 的回复:]
你的工程文件被VS打开了两次,一个修改了文件,另一个就会报这个错。
或者,你工程文件用vs打开,然后你金刀xml的目录,用除了vs的工具修改了这个文件,vs也会报这个错
[/Quote]

没有打开俩次
chazikai24 2010-09-09
  • 打赏
  • 举报
回复
你的工程文件被VS打开了两次,一个修改了文件,另一个就会报这个错。
或者,你工程文件用vs打开,然后你金刀xml的目录,用除了vs的工具修改了这个文件,vs也会报这个错
porschev 2010-09-09
  • 打赏
  • 举报
回复
帮顶。。。。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧