如何删除特定位置保存的xmldocument

时间:2010-09-02 12:09:38

标签: c# xml dhtml

我有以下代码,我将xml文件保存到下面显示的特定位置

public bool GetList(string keyword1, string streetname, string lat, string lng, string radius)
{

    XmlDocument xmlDoc=  CreateXML( keyword1,streetname,lat,lng,radius);
    xmlDoc.Save(@"C:\Documents and Settings\Vijay.EKO-03\Desktop\blockseek3-9-2010\Block3.xml");
     return true;

}

此Block3.xml文件存储在我的应用程序文件夹中,我使用此代码引用该特定的Block3.xml

function searchLocationsNear() 
{
    var searchUrl = "Block3.xml";
    GDownloadUrl(searchUrl, function(data) {
    var xml = GXml.parse(data);
    var markers = xml.documentElement.getElementsByTagName('marker');
    map.clearOverlays();

我能够解析Block3.xml并显示结果,但是当我尝试保存Block3.xml时,我的问题再次出现在第二次迭代中

xmlDoc.Save(@"C:\Documents and Settings\Desktop\blockseek3-9-2010\Block3.xml");

先前的Block3.xml文件被新的替换,并存储在应用程序文件夹中 当我执行var searchUrl =“Block3.xml”时;它读取第一个Block3.xml而不是被替换的一个,任何人都可以帮助解决这个问题。 是他们的任何语法来清除该特定文件夹中保存的xmldoc文件。

1 个答案:

答案 0 :(得分:1)

最有可能的是,GXml类保留了一个打开的文件句柄。检查文档:如果它实现IDisposable,请包装您的处理代码:

using ( var xml = GXml.parse(data) )
{
    var markers = xml.documentElement.getElementsByTagName('marker');
    map.clearOverlays();
}

这也假定parse()方法是实际加载和读取文件的方法。如果您不释放文件句柄,则您的进程不知道文件系统中还有另一个版本。 (并且可能会发生其他令人讨厌的事情,具体取决于O / S打开文件的确切模式。)

我相信您的生产代码不会包含这些硬编码路径......?