我想要將Internet上的XML文件加載到C#中的DataTable
中。 XML是從http://rates.fxcm.com/RatesXML裝,看起來像這樣:如何將XML加載到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>
我可以使用ReadXml
method of the DataTable
class讀取XML,還是我需要某種形式的HTTP請求,首先把它轉換成字符串?
編輯: 我剛剛寫了下面的
public DataTable GetCurrentFxPrices(string URL)
{
DataSet ds = new DataSet("fxPrices");
ds.ReadXml(URL);
}
,並試圖讀取數據,但我是一個企業防火牆後面。我現在真的無能爲力了。我得到這個錯誤:
System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.
在Firefox中我有一個端口號設置HTTP代理。我可以在我的應用程序的某個地方設置嗎?
更新是關於一個完全不同的問題,請分別問這個問題。要回答你的問題的更新部分,你應該使用HttpWebRequest/HttpWebResponse對(或WebClient類)下載內容,並在其上適當地設置代理。然後,將流傳遞給DataTable/DataSet。 – casperOne 2011-01-10 15:41:22
@casperOne:對不起,好的。儘管在大家的幫助下,我現在已經解決了它。當我獲得時間時,明天會改變Q. – 2011-01-10 16:05:46
@Mark Allison:如何解決這個問題,我也遇到了這個問題 – 2012-06-22 11:51:40