如何获取从Web服务收到的xml响应并使其成为数据源

时间:2014-06-21 06:19:17

标签: windows-phone

我正在制作Windows 8.1手机应用程序,而且我有一个列表框,我试图填充数据。我的问题是我正在使用一个Web服务,我终于想出了如何获取数据,但它是xml格式,我不知道如何将它变成列表框的itemssource。对不起,如果这是一个愚蠢的问题,但这是我第一次这样做,我似乎无法在网上找到任何信息。

2 个答案:

答案 0 :(得分:1)

下面是一个非常简单的示例,它通过HTTPS从URI请求XML文档。

它以字符串的形式异步下载XML,然后使用XDocument.Parse()加载它。

private void button2_Click(object sender, RoutedEventArgs e)
{
    WebClient wc = new WebClient();
    wc.DownloadStringCompleted += HttpsCompleted;
    wc.DownloadStringAsync(new Uri("https://domain/path/file.xml"));
}

private void HttpsCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    if (e.Error == null)
    {
        XDocument xdoc = XDocument.Parse(e.Result, LoadOptions.None);

        this.textBox1.Text = xdoc.FirstNode.ToString();
    }
}

查看this主题。

希望它有所帮助!

答案 1 :(得分:1)

如果返回的数据总是相同的类型,您始终可以使用XmlSerializer将数据反序列化为可绑定的类。如果您复制回到剪贴板的数据样本,您可以使用粘贴xml作为类来粘贴您可以反序列化的类

Deserialize XML in a WP8 Application