S.A Arkadaşlar benim sorunum şöyleki ben query den dönen kayıtları xml olarak kaydetmek istiyorum üç gündür kaynak araştırıyorum xml hakkında konular var fakat tam istedigim gibi bişey bulamadım istedigime yakın oldugumu sandıgım bir kaynak buldum fakat ondada anlayamadıgım bazı noktalar var yardımcı olursanız sevinirim teşekkürler
procedure TForm1.xmlyap(xds:toraquery); //bu bölümü anlayamadım
var
i,fc:integer;
begin
xds.First;
fc:=xds.FieldCount-1;
Memo1.Lines.Clear;
Memo1.Lines.Add('<?xml version="1.0" encoding="ISO-8859-9" ?>');
Memo1.Lines.Add('<'+xds.Name+'XML>');
for i:=0 to xds.RecordCount-1 do
begin
Memo1.Lines.Add('<'+xds.Name+'>');
if 0<=fc then
Memo1.Lines.Add('<'+xds.FieldDefs.Items[0].DisplayName+'>'+xds.Fields[0].AsString+'</'+xds.FieldDefs.Items[0].DisplayName+'>');
if 1<=fc then
Memo1.Lines.Add('<'+xds.FieldDefs.Items[1].DisplayName+'>'+xds.Fields[1].AsString+'</'+xds.FieldDefs.Items[1].DisplayName+'>');
Memo1.Lines.Add('</'+xds.Name+'>');
xds.Next;
end;
Memo1.Lines.Add('</'+xds.Name+'XML>');
Memo1.Lines.SaveToFile('deneme.xml');
end;
Benim de projemde yapmam gereken veritabanımdaki kayıtları xml dosyası şeklinde kaydetmekti... Clientdataset ile yapmayı denedim ama bir hata olduğu için bende bu kodları kullandım.. Yalnız ben butona bu işlevi yaptırdım.. O kodları o şekilde anlayamadım.. Sende formuna bir buton, bir memo bir de ADOQuery eklersen kodların çalıştığını görebilirsin.. İşte kodlar:
procedure TForm1.Button1Click(Sender: TObject);
var
i,fc:integer;
begin
xds.First;
fc:=xds.FieldCount-1;
Memo1.Lines.Clear;
Memo1.Lines.Add('<?xml version="1.0" encoding="ISO-8859-9" ?>');
Memo1.Lines.Add('<'+xds.Name+'XML>');
for i:=0 to xds.RecordCount-1 do
begin
Memo1.Lines.Add('<'+xds.Name+'>');
if 0<=fc then
Memo1.Lines.Add('<'+xds.FieldDefs.Items[0].DisplayName+'>'+xds.Fields[0].AsString+'</'+xds.FieldDefs.Items[0].DisplayName+'>');
if 1<=fc then
Memo1.Lines.Add('<'+xds.FieldDefs.Items[1].DisplayName+'>'+xds.Fields[1].AsString+'</'+xds.FieldDefs.Items[1].DisplayName+'>');
Memo1.Lines.Add('</'+xds.Name+'>');
xds.Next;
end;
Memo1.Lines.Add('</'+xds.Name+'XML>');
Memo1.Lines.SaveToFile('c:\deneme.xml');
end;
Burada xds senin tablona ulaşmanı sağlayan query bileşeninin adı. For döngüsü aracılığıyla tablondaki ilk 2 alandaki tüm kayıtlar deneme.xml dosyasına yazdırılıyor..
Takıldığın başka bir nokta olursa yardımcı olmaya çalışırım.. Kolay gelsin..
yusuf yazdı:S.A Arkadaşlar benim sorunum şöyleki ben query den dönen kayıtları xml olarak kaydetmek istiyorum üç gündür kaynak araştırıyorum xml hakkında konular var fakat tam istedigim gibi bişey bulamadım istedigime yakın oldugumu sandıgım bir kaynak buldum fakat ondada anlayamadıgım bazı noktalar var yardımcı olursanız sevinirim teşekkürler
procedure TForm1.xmlyap(xds:toraquery); //bu bölümü anlayamadım
var
i,fc:integer;
begin
xds.First;
fc:=xds.FieldCount-1;
Memo1.Lines.Clear;
Memo1.Lines.Add('<?xml version="1.0" encoding="ISO-8859-9" ?>');
Memo1.Lines.Add('<'+xds.Name+'XML>');
for i:=0 to xds.RecordCount-1 do
begin
Memo1.Lines.Add('<'+xds.Name+'>');
if 0<=fc then
Memo1.Lines.Add('<'+xds.FieldDefs.Items[0].DisplayName+'>'+xds.Fields[0].AsString+'</'+xds.FieldDefs.Items[0].DisplayName+'>');
if 1<=fc then
Memo1.Lines.Add('<'+xds.FieldDefs.Items[1].DisplayName+'>'+xds.Fields[1].AsString+'</'+xds.FieldDefs.Items[1].DisplayName+'>');
Memo1.Lines.Add('</'+xds.Name+'>');
xds.Next;
end;
Memo1.Lines.Add('</'+xds.Name+'XML>');
Memo1.Lines.SaveToFile('deneme.xml');
end;
anlayamadığınız noktaları da yazsaydınız makbule geçerdi üstad ?
Merhaba,
Önerim quaryden gelen kayıtları dataprovder+clientdatasete çek, sonra xml olarak kaydetmeni öneririm.Yukardaki kod xsd dosyasını xml çeviriyor.Kolay gelsin.
Arkadaşlar Hepinize teşekkür ederim [/b]VBN Arkadaşın vermiş oldugu kod tam istedigim işi görüyor Cevabı Delphi Türkiyede bulacagımı biliyordum Teşekkürler Delphiturkiye.com