Konuyu Oyla:
  • Derecelendirme: 4.5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
xmldocument veri okuma
#1
Arkadaşlar hata nerede bulamadım XMLDocument true yaptığımda XML içinde verileri görüyorum.Fakat android de butona bastığım anda 
Cannot open file "/http:/ajansmanisa.com/cache/manset.xml".Not a directory.
hatasını alıyorum

procedure TForm1.Button2Click(Sender: TObject);
var
StartItemNode, ANode : IXMLNode;
begin
  try
  XMLDocument1.FileName:='http://ajansmanisa.com/cache/manset.xml';
  XMLDocument1.Active:=True;
  StartItemNode:=XMLDocument1.DocumentElement.ChildNodes.First.ChildNodes.FindNode('linkx');
  ANode := StartItemNode;
    repeat
      Application.ProcessMessages;
      Memo1.Lines.Add(ANode.ChildNodes['adi'].Text);
      Memo1.Lines.Add(ANode.ChildNodes['ids'].Text);
      Memo1.Lines.Add(ANode.ChildNodes['res'].Text);
      Memo1.Lines.Add('');
      ANode  := ANode.NextSibling;
    until
    ANode=Nil;
  finally
  ShowMessage('xml Okundu');
  end;
end;
Cevapla
#2
TXMLDocument'in yardım dokümanında söyle birşey yazıyor:

Tip: To use TXMLDocument in OS X or Mobile applications, in the Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız., set the Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. property to ADOM XML v4 right after dropping this component onto the Form Designer. Otherwise, the TXMLDocument component is no longer usable for iOS/Android/OSX applications.

Siz bu değişikliği yaptınız mı? Belki sorun bundan kaynaklıdır.
There's no place like 127.0.0.1
WWW
Cevapla
#3
 XMLDocument1.FileName:='http://ajansmanisa.com/cache/manset.xml';
yerine
 XMLDocument1.FileName:='http:///ajansmanisa.com/cache/manset.xml';
ile denermisiniz
Cevapla
#4
(12-04-2018, Saat: 12:02)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.TXMLDocument'in yardım dokümanında söyle birşey yazıyor:

Tip: To use TXMLDocument in OS X or Mobile applications, in the Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız., set the Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. property to ADOM XML v4 right after dropping this component onto the Form Designer. Otherwise, the TXMLDocument component is no longer usable for iOS/Android/OSX applications.

Siz bu değişikliği yaptınız mı? Belki sorun bundan kaynaklıdır.

Hocam 
loadfromurl not enable for non-windows platforms currently
hatası verdi o ayarı yapınca

(12-04-2018, Saat: 12:02)meko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
 XMLDocument1.FileName:='http://ajansmanisa.com/cache/manset.xml';
yerine
 XMLDocument1.FileName:='http:///ajansmanisa.com/cache/manset.xml';
ile denermisiniz

Farketmiyor yinede teke düşürüyor
Cevapla
#5
Önce dosyayı çalışma ortamına indirmeniz gerekiyor. Yada TMemoryStream içerisine almanız gerekiyor.
There's no place like 127.0.0.1
WWW
Cevapla
#6
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. bir inceleyin, faydası olacaktır.
Cevapla
#7
(12-04-2018, Saat: 13:35)Cyber Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. bir inceleyin, faydası olacaktır.

Konuyu inceledim.
kendime uyarladım
yine aynı hatayı verdi cannot open file ..... not a directory


procedure TForm1.MansetOku;
var
  XMLDocument1: TXMLDocument;
  XMLNode: IXMLNode;
begin

  XMLDocument1 := TXMLDocument.Create(Application);
  try

      XMLDocument1.Active := false;
      XMLDocument1.FileName := 'http://ajansmanisa.com/cache/manset.xml';
      XMLDocument1.Active := true;



    XMLNode := XMLDocument1.DocumentElement.ChildNodes.FindNode('linkx');
    repeat
      Memo1.Lines.Add(XMLNode.ChildNodes['adi'].Text);
      Memo1.Lines.Add(XMLNode.ChildNodes['ids'].Text);
      Memo1.Lines.Add(XMLNode.ChildNodes['res'].Text);
      Memo1.Lines.Add('');
      XMLNode := XMLNode.NextSibling;
    until XMLNode = nil;


  finally
    XMLDocument1.Free;
  end;
end;
Cevapla
#8
Merhabalar,

XE7 den sonra delphi mobile kullanmadım fakat ozamanlardan aklımda kalan; windows platformu hariç TXMLDocument componentinin diğer platformlara desteğinin olmaması.
Yeni Nesil Yazılımcı
Linkedin: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Blog adresim: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#9
(12-04-2018, Saat: 15:31)barisatalay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhabalar,

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

peki ne tavsiye edersiniz json txt vb.?
Cevapla
#10
(12-04-2018, Saat: 15:31)barisatalay Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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;
There's no place like 127.0.0.1
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Lightbulb QR okuma ve oluşturma [Anlatım] Mr.Developer 11 930 25-07-2019, Saat: 11:44
Son Yorum: seydigozegir@gmail.com
  Android string grid check column a veri ekleme 41linea41 3 408 19-04-2019, Saat: 20:06
Son Yorum: 41linea41
  IOS Barkod okuma mcuyan 0 261 02-02-2019, Saat: 21:07
Son Yorum: mcuyan
  DX 10.3 için comport libry bileşeni ekleyip androidde seri porta bilgi gönderme/okuma baloglurecep 2 458 25-01-2019, Saat: 17:45
Son Yorum: baloglurecep
  ios tarafında sqlite uygulamanın veri tabanına başka yazılımla erişebilir miyim. pro_imaj 5 532 18-01-2019, Saat: 18:13
Son Yorum: pro_imaj



Konuyu Okuyanlar: 1 Ziyaretçi