Ich möchte eine XML-Datei im Internet in eine DataTable
in C# laden. Die XML wird von http://rates.fxcm.com/RatesXML geladen und sieht wie folgt aus:Wie lade ich XML in eine DataTable?
<?xml version="1.0" encoding="UTF-8"?>
<Rates>
<Rate Symbol="EURUSD">
<Bid>1.29174</Bid>
<Ask>1.29198</Ask>
<High>1.29407</High>
<Low>1.28723</Low>
<Direction>-1</Direction>
<Last>14:56:48</Last>
</Rate>
<Rate Symbol="USDJPY">
<Bid>82.862</Bid>
<Ask>82.885</Ask>
<High>83.293</High>
<Low>82.847</Low>
<Direction>1</Direction>
<Last>14:56:47</Last>
</Rate>
<!-- More like the above -->
</Rates>
Kann ich die ReadXml
method of the DataTable
class verwenden, um die XML zu lesen, oder brauche ich eine Art von HTTP-Anforderung, um es zuerst in einen String?
EDIT: Ich habe gerade folgendes geschrieben
public DataTable GetCurrentFxPrices(string URL)
{
DataSet ds = new DataSet("fxPrices");
ds.ReadXml(URL);
}
und es versucht, die Daten zu lesen, aber ich bin hinter einer Unternehmens-Firewall. Ich bin jetzt wirklich ratlos, wie ich das umgehen kann. Ich bekomme diese Fehlermeldung:
System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.
In firefox ich einen HTTP-Proxy mit einer Portnummer eingestellt haben. Kann ich das irgendwo in meiner App einstellen?
Das Update über ein anderes Problem ist überhaupt, fragen Sie bitte die separat Frage. Um den aktualisierten Teil Ihrer Frage zu beantworten, sollten Sie den Inhalt wahrscheinlich mithilfe eines HttpWebRequest/HttpWebResponse-Paars (oder der WebClient-Klasse) herunterladen und den Proxy entsprechend einstellen. Übergeben Sie dann den Datenstrom an die DataTable/DataSet. – casperOne
@casperOne: Entschuldigung, OK wird es tun. Ich habe es jetzt aber mit aller Hilfe gelöst. Ändere das Q morgen, wenn ich Zeit bekomme. –
@Mark Allison: Wie dieses Problem zu lösen, ich leide auch mit dieser –