FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Filemaker için TMCB döviz Kurlarını Mac sistemlerde alamıyorum.

+3 oy
2,108 kez görüntülendi
İnternet üzerinde TCMB döviz kurlarını almak için  bir örnek mevcut. WIN tabanlı bilgisayarlada sorunsuz çalışıyor. Ancak OSX üzerinde tüm denemelerime ragmen XML parsing gibi bir hata uluşuyor.
26, Haziran, 2015 Scripts kategorisinde hyardimci (1,840 puan) tarafından soruldu
CURL kullanmanı tavsiye ederim tek komutluk bir program çeşitli parametreleri var.Hemen hemen her ortamda çalışıyor ordan aldığını txt içine yazdırıp filemakerdan da rahatca çekebilirsin.Curl 'ün amacı şu bir web sayfasındaki datayı ara yüzsüz olarak shell (dos gib ) ortamından almak, yada o ortama arayüzsüz olarak komut gönderip giriş yapmak.

6 Cevaplar

+2 oy
 
En İyi Cevap

Merhaba ;

XML uzantılı dosya ihtiyacı olmadan filemaker kendi içindeki bir field ile çözümlenebiliyor.

insert from url ile ilgili bir fielde set edip text içinden alınabilir.

örnek dosya yı inceleyebilirsiniz (açık kod)

 

13, Haziran, 2016 Akaroloji (5,680 puan) tarafından cevaplandı
14, Haziran, 2016 hyardimci tarafından seçilmiş
+1 oy

XML Encoding problemi olabilir.

FileMaker Pro uses the Xerces-C++ XML parser, which supports XML data in the following character encodings:

 

XML dosyanızın Encoding'ini manuel olarak UTF-8 veya 16 yaparak import etmeyi deneyebilir misiniz?

26, Haziran, 2015 Recep Güney (69,500 puan) tarafından cevaplandı
26, Haziran, 2015 Recep Güney tarafından düzenlendi
hala sorun devam ediyor

<?xml version="1.0" encoding="UTF-16”?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/*">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="" NAME="" VERSION=""/>
<DATABASE DATEFORMAT="M/d/yyyy" LAYOUT="" NAME="" RECORDS="{count(/*/*)}" TIMEFORMAT="h:mm:ss a"/>
<METADATA>
<xsl:for-each select="/*/*[position()=1]/*">
<FIELD>
<xsl:attribute name="EMPTYOK">YES</xsl:attribute>
<xsl:attribute name="MAXREPEAT">1</xsl:attribute>
<xsl:attribute name="NAME"><xsl:value-of select="name()"/></xsl:attribute>
<xsl:attribute name="TYPE">TEXT</xsl:attribute>
</FIELD>
</xsl:for-each>
</METADATA>
<RESULTSET>
<xsl:attribute name="FOUND"><xsl:value-of select="count(child::*)"/></xsl:attribute>
<xsl:for-each select="child::*">
<ROW>
<xsl:attribute name="MODID">0</xsl:attribute>
<xsl:attribute name="RECORDID">0</xsl:attribute>
<xsl:for-each select="child::*">
<COL>
<DATA>
<xsl:value-of select="."/>
</DATA>
</COL>
</xsl:for-each>
</ROW>
</xsl:for-each>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/*">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="" NAME="" VERSION=""/>
<DATABASE DATEFORMAT="M/d/yyyy" LAYOUT="" NAME="" RECORDS="{count(/*/*)}" TIMEFORMAT="h:mm:ss a"/>
<METADATA>
<xsl:for-each select="/*/*[position()=1]/*">
<FIELD>
<xsl:attribute name="EMPTYOK">YES</xsl:attribute>
<xsl:attribute name="MAXREPEAT">1</xsl:attribute>
<xsl:attribute name="NAME"><xsl:value-of select="name()"/></xsl:attribute>
<xsl:attribute name="TYPE">TEXT</xsl:attribute>
</FIELD>
</xsl:for-each>
</METADATA>
<RESULTSET>
<xsl:attribute name="FOUND"><xsl:value-of select="count(child::*)"/></xsl:attribute>
<xsl:for-each select="child::*">
<ROW>
<xsl:attribute name="MODID">0</xsl:attribute>
<xsl:attribute name="RECORDID">0</xsl:attribute>
<xsl:for-each select="child::*">
<COL>
<DATA>
<xsl:value-of select="."/>
</DATA>
</COL>
</xsl:for-each>
</ROW>
</xsl:for-each>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
+2 oy

Style Sheet'iniz template'e benziyor.

Dosya üzerinde, field isimleri vb... düzeltmeleri yaparak bunu deneyebilirsiniz. (Sadece Dollar ve Euro için...)

 

Ayrıca encodingini 8 ve 16 diye değiştirdiğiniz dosyalar TCMB'nin xml datası değil. Encoding'ini değiştirmeniz gereken dosya TCMB'nin http://www.tcmb.gov.tr/kurlar/today.xml adresinden elde ettiğiniz dosya veya data olmalı!

 

Nasıl import ettiğinizi yazabilir misiniz?

26, Haziran, 2015 Recep Güney (69,500 puan) tarafından cevaplandı
29, Haziran, 2015 Recep Güney tarafından düzenlendi
Öncelikle ilgi ve alakanız için teşekkür ederim. Gönderdiğiniz dosyayı öncelikle file menüsünden XML olarak manuel import edip tablo oluşturuyorum. Sonrasında script ile otomatik hale gitirebilirim.
+2 oy

Göndermiş olduğum style sheet dosyasını manuel import ederken aşağıdaki gibi seçiyorsunuz değil mi?

 

26, Haziran, 2015 Recep Güney (69,500 puan) tarafından cevaplandı
Data Souce kısmına http request seçerek yapıyordum linki ekliyordum
http://www.tcmb.gov.tr/kurlar/today.xml

bu şelikde gönderdiğiniz dosyala 3 adet field ve dosya layout name düzenledim olmadı aynı hatayı aldım  XML dosyayı nereden almam gerek
+3 oy

Basit bir örnek yaptım.

26, Haziran, 2015 Recep Güney (69,500 puan) tarafından cevaplandı
Yorumsuz çalışıyor :) Benim branşım elektronik ancak 3-4 yıldır filemaker ile ilgileniyorum. Kendi muhasebe ve üretim hattı programımı geliştirdim. Ancak bu döviz olayını bir çok örnek ile denedim windows ile çalışıyor mac ile çalışmıyor idi çok teşekkür ederim. İlerleyen dönemlerde Apple Scriptler ile seri iletisim oluşturmak ve çeşitli donamımlarıda bu yazılımla kontrol etmek benimde yardımcı olabileceğim konularda haberleşmek isterim.
Her zaman...
Programın server üzerinde çalışıyor. XML ve XSLT dosyalarını servere atıp denediğim de export field  ve import çalışmadı söyleki server admin konsol açılmıyor herhangi bir ayar yapılabilir mi onuda deneyemedim.
İmport ve export dosyalarınızın serverdaki yerlerini yeniden tanımlayın.
server üzerinde export komutu çalışmıyor..
Export field content server uyumlu olmayabilir.
Şuan server tarafında test edemiyorum ama Export Field Content adımını aşağıdakine benzer bi şekilde düzenlemeyi deneyebilirsiniz.

"file:" & Get( DocumentsPath ) & "TcmbSample_limited_4.xml"
+2 oy
istediğimiz tarihi nasıl alırız. dosyada sadece today.xml var.
1, Mart, 2016 Mehmet KAYA (165,360 puan) tarafından cevaplandı
TCMB arşiv xml dosyaları örnek şu şekilde tutuyor;
http://www.tcmb.gov.tr/kurlar/201602/29022016.xml
Bu xml dosyasını okutarak kurları alabiliriz.
Tşk. Başarılı.
...