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
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Android Mobil Veri Açıp/Kapama berk06 12 662 23-10-2020, Saat: 19:02
Son Yorum: Mr.Developer
Lightbulb QR okuma ve oluşturma [Anlatım] Mr.Developer 23 6.508 16-07-2020, Saat: 20:02
Son Yorum: Mr.Developer
  Edit Memo vb. veri girişin nesnelerinde tümünü seç/kopyala/kes işlemleri hk (FMX) pro_imaj 47 8.362 20-04-2020, Saat: 16:17
Son Yorum: Halil Han BADEM
  Yeni kimlik kartı NFC ile TCKN okuma otonomi 1 1.585 06-02-2020, Saat: 20:30
Son Yorum: narkotik
  Android-PC arası veri aktarımı Gribline 3 1.464 06-01-2020, Saat: 02:41
Son Yorum: Gribline



Konuyu Okuyanlar: 1 Ziyaretçi