Xmlwriter-başka bir işlem tarafından kullanılıyor

TubaKoseoglu
13-09-2017, 09:04   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Eki 2012

Projemde xmlwriter ile xml dosyasına veri yazıyorum. Fakat sonrasında aynı xml dosyasını değiştirmek istediğimde işlem başka bir işlem tarafından kullanılıyor hatası veriyor. İşin garip yanı her yolu denedim bir anda çalışıyor bir anda çalışmıyor aynı kod. Neye göre çalışıp çalışmadığını anlamıyorum. 

XmlWriter xmlWriter;
XmlWriter.Create(path).Dispose();
xmlWriter = XmlWriter.Create(path);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("Favorite");
foreach (var btn in pnlShortcut.Controls)
{
     var button = btn as Button;
      if (button == null) continue;
      xmlWriter.WriteStartElement("Favorite");
      xmlWriter.WriteAttributeString("name", ((Button)btn).Name);
      xmlWriter.WriteAttributeString("text", ((Button)btn).Text);
      xmlWriter.WriteEndElement();
}
xmlWriter.Close();

Tam bu kısımda hata veriyor, ama aynı yöntemle başka xml dosyasını değiştirebiliyorum
XmlWriter.Create(ilaFilesPath).Dispose();

White-Fox
14-09-2017, 09:04   |  #2  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 155
1,104 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

using (XmlWriter xmlWriter = XmlWriter.Create(path))
        {
            xmlWriter.WriteStartDocument();
            xmlWriter.WriteStartElement("Employees");

            foreach (var btn in pnlShortcut.Controls)
            {
                 var button = btn as Button;
                 if (button == null) continue
                xmlWriter.WriteStartElement("Favorite");

                xmlWriter.WriteElementString("name", ((Button)btn).Name);
                xmlWriter.WriteElementString("text", ((Button)btn).Text);
                xmlWriter.WriteEndElement();
            }

            xmlWriter.WriteEndElement();
            xmlWriter.WriteEndDocument();
}

//yazma işlemi sonrası yazdığın dosya açık kalıyor sorun kesinlikle bu.yukarıdaki kodu bir denermisin.

TubaKoseoglu
15-09-2017, 15:19   |  #3  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Eki 2012

Hata verdi onları yazınca. Dispose ettim close dedim daha kapatmak için ne yapabilirim. Çok gariptir ki bir hata veriyor bir vermiyor ne zaman hata vereceği belli olmuyor.