我从Web服务中提取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 :(得分: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}">