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 ?