(急)用XmlDocument类的load方法打开的文件如何关闭?

sun_dsk1 2005-03-21 10:22:35
XmlDocument xd = new XmlDocument();
xd.Load(@"c:\testxml.xml");
//.....(other operations).....
//when necessary, use following codes:
xd.Save(@"c:\testxml.xml");
以上代码段在一个程序中,程序多次动态地打开一个xml文件,修改后回存。在运行时,发现该进程的句柄数在进程管理器里持续上升,而且好像每增加一个句柄计数,相应的内存占用数也上升8k。
我想问,在XmlDocument类的load方法里面,会不会象流的原理一样,得到一个文件handle呢?如果是,那么我该如何释放这个handle呢?如果不是,那么我程序运行时出现的问题是不是就和XmlDocument类的运用没有关系呢?
...全文
958 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lldwolf 2005-03-21
  • 打赏
  • 举报
回复
XmlTextWriter xw = new XmlTextWriter(@"c:\testxml.xml", null);
//修改节点的值...
xd.Save(xw);
xw.Close();
sun_dsk1 2005-03-21
  • 打赏
  • 举报
回复
对net_lover:
我认为 xd = null; 这个语句的效果是不是等同于在函数中new出对象,XmlDocument xd = new XmlDocument(); 然后在该函数结束时是否把xd置成null是不是已经无关紧要了呢?我的这段代码确实是在一个函数中的,所以我觉得可能xd = null;不能起到作用啊。而且,如果真的有文件句柄从操作系统获得的话,光把引用置空也是不能释放这个句柄的。就像流对象一样,一般都会有一个close方法用来显式地释放handle,然而XmlDocument类并没有这种方法,所以我很想知道XmlDocument类是不是真的涉及到句柄的获得。
ZhouQiang 2005-03-21
  • 打赏
  • 举报
回复
up
孟子E章 2005-03-21
  • 打赏
  • 举报
回复
xd = null

111,098

社区成员

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

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

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