Erhalten von C # – und T.C.M.B-Wechselkursen

Hallo; In diesem Artikel werde ich versuchen, Ihnen zu erklären, wie Sie ein XML-Dokument im Internet in eine DataTable hochladen und wie Sie diese Daten im DataGrid anzeigen können.

 

Schließlich begann T.C.M.B, seine Austauschinformationen in einem XML-Dokument zu veröffentlichen. Diejenigen, die sich zuvor mit diesem Thema befasst haben, wissen es; Die Wechselkursinformationen wurden aus einem HTML-Dokument namens today.html mit einer primitiven Methode abgerufen. Natürlich war Ihr Job dem Webmaster ausgeliefert. Zum Glück sind diese Tage vorbei. Jetzt gibt es today.xml. Es ist schön, den XML-Standard bestanden zu haben, obwohl es in der Testphase einige logische Fehler gibt, und ich denke. Adresse der Seite: http://www.tcmb.gov.tr/kurlar/today.xml Mein Vorschlag ist, dieses Dokument zuerst gründlich zu prüfen.

 

Öffnen Sie eine neue Windows-Anwendung und fügen Sie Ihrem Formular ein Datagrid hinzu. Vergessen Sie nicht, den System.Xml-Namespace zu Ihrem Code hinzuzufügen.

 

private void Form1_Load (Objektabsender, System.EventArgs e)

{

DataGrid1.DataSource = source ();

}}

öffentliche DataTable-Quelle ()

{

DataTable dt = new DataTable ();

// Wir erstellen unser DataTable-Objekt

dt.Columns.Add (neue DataColumn („Name“, typeof (string)));

dt.Columns.Add (neue DataColumn („Code“, typeof (string)));

dt.Columns.Add (neue DataColumn („Exchange“, typeof (string)));

dt.Columns.Add (neue DataColumn („Währungsverkauf“, typeof (string)));

dt.Columns.Add (neue DataColumn („Effektiver Empfang“, typeof (string)));

dt.Columns.Add (neue DataColumn („Effective Selling“, typeof (string)));

// Wir fügen unserer DataTable 6 Spalten hinzu und definieren die Variablentypen.

XmlTextReader rdr = neuer XmlTextReader („http://www.tcmb.gov.tr/kurlar/today.xml„);

// Wir erstellen das XmlTextReader-Objekt und geben die URL des XML-Dokuments als Parameter an

// XmlTextReader urlsi bietet schnellen und nur vorwärts gerichteten Zugriff auf bestimmte XML-Dokumente.

XmlDocument myxml = new XmlDocument ();

// Wir erstellen das XmlDocument-Objekt.

myxml.load (rdr);

// Wir laden XML mit der Load-Methode

XmlNode date = myxml.SelectSingleNode („/ Date_Date / @ Date“);

XmlNodeList mylist = myxml.SelectNodes („/ Date_Date / Currency“);

XmlNodeList name = myxml.SelectNodes („/ Date_Date / Currency / Name“);

XmlNodeList code = myxml.SelectNodes („/ Date_Date / Currency / @ Code“);

XmlNodeList doviz_alis = myxml.SelectNodes („/ Date_Date / Currency / ForexBuying“);

XmlNodeList doviz_satis = myxml.SelectNodes („/ Date_Date / Currency / ForexSelling“);

XmlNodeList effektiv_alis = myxml.SelectNodes („/ Date_Date / Currency / BanknoteBuying“);

XmlNodeList effektiv_satis = myxml.SelectNodes („/ Date_Date / Currency / BanknoteSelling“);

// Jeder Knoten in XmlNodeList als xpathini der Knoten zur SelectSingleNode-Methode

// Wir definieren es durch Senden.

dataGrid1.CaptionText = date.InnerText.ToString () + „Wechselkursdatum der Zentralbank“;

// setze die datagridim Beschriftung.

int x = 19;

/ * Ich habe hier eine Variable wie x definiert, weil ich hier in xml einen logischen Fehler erwähnt habe.

Dadurch wird sichergestellt, dass nur 19 Zeilen zur x = 19-Datentabelle hinzugefügt werden. denn nach dem 19. Knoten im XML-Dokument

Es gibt keine aktuellen Wechselkursinformationen, aber Euro-Umrechnungskurse. Nach diesem Knoten entspricht die Struktur nicht den ersten 18 Knoten

Ich denke, es hätte in einem separaten XML-Dokument aufbewahrt werden sollen.

* /

für (int i = 0; i <x; i ++)

{

dr = dt.NewRow ();

dr [0] = adi.Item (i) .InnerText.ToString (); // ICH. Inhalt des Namensknotens

// Wir füllen die Zeilen von DataColumn mit dem Namen mit dem Knoten / Date_Date / Currency / Name.

dr [1] = kod.Item (i) .InnerText.ToString ();

// Zeilen von Code

dr [2] = doviz_alis.Item (i) .InnerText.ToString ();

// Währung kaufen

dr [3] = doviz_satis.Item (i) .InnerText.ToString ();

// Verkäufe austauschen

dr [4] = effektiv_alis.Item (i) .InnerText.ToString ();

// Effektiver Kauf

dr [5] = effektiv_satis.Item (i) .InnerText.ToString ();

// Effektiver Verkauf.

dt.rows.add (d);

}}

// Wir füllen die Zeilen unserer DataTable mit 18 Zeilen

// obwohl der Master des Webmasters ins Spiel kommt :).

// das oben erwähnte Problem.

return dt;

// Wir geben die DataTable zurück.

}}

 

Hier sind die Wechselkurse in unserer Anwendung mit der aktuellsten Version!

Ich habe auch ein Währungsumtauschprogramm geschrieben, das ein Beispiel für eine XML-Abfrage sein kann. Ich habe vor, es so schnell wie möglich zu bearbeiten und zu senden.

 

Hinweis:

 

XmlTextReader rdr = neuer XmlTextReader („http://www.tcmb.gov.tr/kurlar/today.xml„);

DataSet ds = new DataSet ();

ds.ReadXml (rdr);

DataGrid1.DataSource = ds;

 

Dieser Code überträgt auch direkt ein XML-Dokument in der angegebenen URL in das Dataset. Dieser 4-Zeilen-Code macht also dasselbe wie der obige Code ?