Konuyu Paylaş : facebook gplus twitter

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ı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(12-04-2018, Saat: 15:31)barisatalay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhabalar,

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

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Question veri güvenliği BY-HAYALET 6 174 11-05-2018, Saat: 07:55
Son Yorum: BY-HAYALET
Question memo uzun veri ekleme sıkıntısı BY-HAYALET 4 277 06-04-2018, Saat: 17:04
Son Yorum: BY-HAYALET
  Sunlux el terminali ile Mifare kart okuma konusunda yardım lütfen (Durum biraz acil) adelphiforumz 9 410 03-02-2018, Saat: 14:05
Son Yorum: elera
  ios ini dosyası okuma yazma doya yolu rahim@kirazyazilim.com 1 187 27-11-2017, Saat: 18:33
Son Yorum: Fesih ARSLAN
  Uygulama içine gömülü resim veri tabanı vb başkalarının erişimi hk. pro_imaj 4 349 08-09-2017, Saat: 11:18
Son Yorum: pro_imaj



Konuyu Okuyanlar: 1 Ziyaretçi