Konuyu Oyla:
  • Derecelendirme: 4.5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
xmldocument veri okuma
#11
(12-04-2018, Saat: 17:08)SimaWB Adlı Kullanıcıdan Alıntı:
(12-04-2018, Saat: 15:31)barisatalay Adlı Kullanıcıdan Alıntı: Merhabalar,

XE7 den sonra delphi mobile kullanmadım fakat ozamanlardan aklımda kalan; windows platformu hariç TXMLDocument componentinin diğer platformlara desteğinin olmaması.

Aslında yukarıda yazdım, Object Inspector'dan DOMVendor özelliği değiştirilerek kullanılabiliyormuş. Fakat bu sefer de ramazanayer'ın yazdığı gibi "loadfromurl not enable for non-windows platforms currently" imiş.
Aslında hata mesajı çok açık. O yüzden önce dosyayı lokale indirmek gerektiğini yazdım ama nedense ramazanayer bu mesajımı dikkate almadı sanırım Smile

TIdHttp kullanarak dosyayı istediğiniz bir yere indirebileceğiniz gibi bir Stream içine de atabilirsiniz.  
Ondan sonra XML işlemlerine kaldığınız yerden devam etmelisiniz.

Deneme yapmadan şöyle bir kod paylaşmak istiyorum; belki yol gösterir:
var
 ms: TMemoryStream;
 Http: TIdHttp;
 Url: string;
begin
 Url := 'http://ajansmanisa.com/cache/manset.xml';
 ms := TMemoryStream.Create;
 Http := := TIdHttp.Create(Nil);
 try
   Http.Request.Accept := 'text/xml, text/html, application/octet-stream'; 
   Http.Request.ContentType := 'text/xml';
   Http.Request.URL := Url;  
   Http.Request.Connection :=  Url;
   Http.Get(Url, ms);

   XML.LoadFromStream(ms);
 finally
   Http.Free;
   ms.Free;
 end;
end;

Hocam gözümden kaçmış özür Smile Smile
Cevapla
#12
Arkadaşlar çözüme yardımlarınızla ulaştım
teşekkürler Heart

portala not olması için kodu atayım dedim

forma 1 xmldocument ekliyip DOMVentor u  'ADOM XML v4' olarak ayarlıyoruz

buton click yordamına da aşağıdakileri ekliyoruz


procedure TForm1.Button2Click(Sender: TObject);
var
NetHTTPClient1:TNetHTTPClient;
NetHTTPRequest1:TNetHTTPRequest;
ms: TMemoryStream;
 XMLNode: IXMLNode;

 yol,DosyaYolu: String;
bol: Boolean;

begin
NetHTTPClient1:=TNetHTTPClient.Create(nil);
NetHTTPRequest1:=TNetHTTPRequest.Create(nil);

 NetHTTPClient1.Accept:='text/xml, text/html, application/octet-stream';
 NetHTTPClient1.ContentType:='text/xml';
 NetHTTPRequest1.Accept:='text/xml, text/html, application/octet-stream';
 NetHTTPRequest1.Client:=NetHTTPClient1;
 NetHTTPRequest1.MethodString:='GET';
 NetHTTPRequest1.URL:= 'http://ajansmanisa.com/cache/manset.xml';

ms := TMemoryStream.Create;
try
  NetHTTPRequest1.Get(NetHTTPRequest1.URL, ms);

   yol := System.IOUtils.TPath.GetHomePath() + PathDelim + 'Veriler';
   bol := System.SysUtils.ForceDirectories(yol);
  if bol then
  begin
    DosyaYolu:=yol+ '/manset.xml';
      ms.SaveToFile(DosyaYolu);
  end;


  try
     XMLDocument1.Active := false;
     XMLDocument1.FileName := DosyaYolu;
     XMLDocument1.Active := true;


   XMLNode := XMLDocument1.DocumentElement.ChildNodes.FindNode('linkx');
   repeat
     Memo1.Lines.Add('Adı : '+XMLNode.ChildNodes['adi'].Text);
     Memo1.Lines.Add('İd : '+XMLNode.ChildNodes['ids'].Text);
     Memo1.Lines.Add('Resim : '+XMLNode.ChildNodes['res'].Text);
     Memo1.Lines.Add('');
     XMLNode := XMLNode.NextSibling;
   until XMLNode = nil;
 finally
    XMLDocument1.Active := false;
 end;

finally
  ms.Free;
  NetHTTPRequest1.Free;
  NetHTTPClient1.Free;
end;

end;
Cevapla
#13
Merhaba. DOMVentor u 'ADOM XML v4' yaptığımızda 3 kayılı bir döngü için 2. tur da hata veriyor. DOMVentor u 'Omni XML' yaptığımda döngü dönüyor fakat Ios da NetHTTPRequest1.URL ye xml yolu yazılamıyor. Hep atlıyor orayı ve bu yüzden sonuç gelmiyor. Neden olabilir

bol değeri Ios da 0 dönüyor ondan dosyayı kaydetmiyor büyük ihtimal şimdi onu farkettim
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  CSV'ye veri aktarma Altıner 5 297 28-03-2024, Saat: 11:49
Son Yorum: Mr.X
  Web ipnut alanına veri girme Altıner 4 382 12-03-2024, Saat: 21:26
Son Yorum: Altıner
  Android Fmx uzak veri tabanından veri çekmek erkutolga 12 1.589 22-11-2023, Saat: 10:27
Son Yorum: Mesut
  Mobil App. ile MQTT brokera bağlanma ve Veri çekme yemre 3 880 27-04-2023, Saat: 13:56
Son Yorum: yemre
  Android veri gönderme hakankvk 3 822 29-12-2022, Saat: 18:40
Son Yorum: hakankvk



Konuyu Okuyanlar: 1 Ziyaretçi