Delphi ile XML dosyalarında çalışmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ikose
Üye
Mesajlar: 7
Kayıt: 28 Eki 2003 12:23

Delphi ile XML dosyalarında çalışmak

Mesaj gönderen ikose »

Merhabalar kardeşler,

XML konusunda daha önce çalışmadım; o yüzden önce danışmak istedim. Delphi ile bir uygulama geliştirip bunu Internet'teki bazı XML web servisleriyle konuşturmak istiyorum. O yüzden, yerel veritabanı olarak ta XML kullanmak daha uygun geliyor bana. Çünkü web servisleriyle iki yönlü veri alış-verişi olacak ve bunlar hep XML formatında olacak.
Şimdi, XML ile çalışan varsa, bu işi en kısa yoldan nasıl yapabilirim, yardımcı olurlarsa sevinirim.

Selamlar.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

xml parse işlemi için viewtopic.php?p=15083#15083
kurunca içinde iki tane güzel xml editör örneği var.


xml tablolarda dolaşmak ve değiştirmek için @şair amcanın clientdataset makalesi (client data set ile xml kaydedebiliyorsunuz) viewtopic.php?p=370#370

birde easysoft un xml-odbc driveri var. onuda netten bilgi alabilrsiniz. 30 günlük demosu mevcut.

ayrıca :ara xml :)
.-.-.-.-.-.-.-. ^_^
ikose
Üye
Mesajlar: 7
Kayıt: 28 Eki 2003 12:23

eyvallah

Mesaj gönderen ikose »

Gayet faydalı linkler, sağolun, işi çözünce haber veririm.

Selamlar.
ikose
Üye
Mesajlar: 7
Kayıt: 28 Eki 2003 12:23

ClientdataSet ??

Mesaj gönderen ikose »

bahsettiğiniz makalede @şair amca gayet güzel anlatmış. Bilmiyorum bir off-site durumunda mıyım; ama bu ClientDataSet ile bir XML dosyasına yazdığımızda bu runtime'da çalışıyormuş gibi görünüyor. Fiziksel bir yazma işlemi yok...

Uygulamayı kapattıktan sonra ilgili XML dosyasında verileri göremiyoruz. Hatta run-time'da bile

Kod: Tümünü seç

ClientDataSet1.SaveToFile('DosyaAdi', dfXml); 
ile griddeki kayıtları xml dosyaya yazmazsak, yine uygulama kapatıldıktan sonra dosyada veriler olmuyor.

Şimdi, hadi SaveToFile ile verileri xml dosyaya yazdık diyelim; ama uygulama yeniden açıldığında XML dosyasındaki bilgileri gride nasıl getireceğiz? :?
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
begin
clientdataset1.SaveToFile('C:\a.xml',dfXML);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
clientdataset2.LoadFromFile('c:\a.xml');
clientdataset2.Active:=TRUE;
end;
:?
.-.-.-.-.-.-.-. ^_^
ikose
Üye
Mesajlar: 7
Kayıt: 28 Eki 2003 12:23

Bu sefer de....

Mesaj gönderen ikose »

Cevap geldiği sıralarda ben de aynı şeyi deniyordum; LoadFromFile ve SaveToFile ile işler tamam, gayet güzel...

Ancak galiba Midas.dll'deki bug yüzünden SaveToFile fonksiyonu <params> XML tagını doğru yazmıyor. Bu nedenle LoadFromFile ile xml dosyasını çağırdığımızda hata veriyor.

Sorun şu, SaveToFile ile xml dosyası güncellendiğinde, <params> </param> yazmak yerine <params/> </param> yazıyor. XML dosyasını edit edip buradaki fazladan '/' çıkartıldığında, artık LoadFromFile çalışıyor; ta ki ikinci bi SaveToFile ile xml dosyasını update edene kadar.

Bazı forumlarda bunun midas.dll'den kaynaklandığı yazıyor, oradayım, hala araştırıyorum.

Ben Delphi 6 Update Package 2 ve XP Pro kullanıyorum, belki başka versiyonlarda bu problem yaşanmıyordur....
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

selam delphi 7 de bu problem yok. tekrar denedim şimdi.
araştırma sonuçlarını burayada atarsan seviniriz :)
.-.-.-.-.-.-.-. ^_^
ikose
Üye
Mesajlar: 7
Kayıt: 28 Eki 2003 12:23

Çözüld...

Mesaj gönderen ikose »

Delphi 7.1 ile gelen Midas.dll'i kopyalayıp RegSvr32 ile kaydedince sorun çözüldü. Ama enteresan, midas.dll'i sadece kopyalamak yeterli olmuyor, Regsvr32 şart. :!:

Gerektiğinde, http://www.distribucon.com/download/midas.dll'den indirebilirsiniz.
Cevapla