2013-06-25 38 views
0

我從Web服務中提取XML。我已經加載了返回的數據字符串與將XML保存在數據網格的字符串中

HttpWebResponse resp = req.GetResponse() as HttpWebResponse; 
Encoding enc = System.Text.Encoding.GetEncoding(1252); 
StreamReader loResponseStream = 
new StreamReader(resp.GetResponseStream(), enc); 
string Response = loResponseStream.ReadToEnd(); 

什麼是進入一個名爲爲accountList DataGrid中的最佳方式。此DG位於WPF表單上。

我正在使用Visual Studio Express 2012 for Desktop和c#。

在此先感謝。

+0

你有特別的任何問題?你在使用DataBindings嗎? – Romoku

+0

我試圖設置一個數據源,但這是不可訪問的。我只看到datacontext – Leehbi

回答

0

解析XML到列表然後綁定到它。作爲一個例子,假設你的XML是這樣的(我知道這是一個簡單的例子,如果你有一個複雜的XML結構,你需要更多的工作來反序列化它(構建支持類,所以你可以添加然後到一個列表):

<Items> 
    <Item>a</Item> 
    <Item>b</Item> 
    <Item>c</Item> 
</Items> 

讓我們假設您有一個綁定到一個屬性:

//could be of some <T> but for simplicity.. 
ObservableCollection<string> MyItems {get;set;} 

解析XML並簽名爲您的屬性讓綁定完成剩下:

var xDoc = XDocument.Parse(Response); 
var list = doc.Root.Elements("Item").Select(element => element.Value).ToList(); 

MyItems.Clear(); 
foreach(var item in list) 
    MyItems.Add(item); 

很好,你在XAML結合應該是:

<DataGrid ItemsSource="{Binding MyItems}"> 
+1

謝謝Denis。這是一個很大的幫助 – Leehbi