2012-08-14 64 views
1

我有一個應用程序使用API​​從一個網站。它返回的XML:windows phone 7 xml響應處理

<xml> 
    <id>48</id> 
    <name>Nuno Horta</name> 
    <user_lvl>2</user_lvl> 
</xml> 

我的代碼,這是一個:

client.ExecuteAsync(request, response => { 
          var value = response.Content; 
          XElement loadedData = XElement.Parse(value); 
          var data = from query in loadedData.Descendants("xml") 
             select new 
             { 
              id = (int)query.Element("id"), 
              name = (string)query.Element("name"), 
             }; 
          listBox.ItemsSource = data; 
}); 

我想這兩個值,標識和名稱,將其保存在應用程序設置,所以我試圖展示他們在這裏:

<TextBlock Text="XML Data:"/> 
       <ListBox x:Name="listBox"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <StackPanel Margin="10" > 
           <TextBlock Text="{Binding name}"/> 
           <TextBlock Text="{Binding id}"/> 
          </StackPanel> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
        </ListBox> 

通過我使用restsharp發出請求 沒有成功的方式......任何想法,讓這些價值?我需要用其他3個API方法請求來做到這一點。謝謝!

+0

會發生什麼?什麼是「數據」類型? – 2012-08-14 13:45:16

+0

它沒有發生任何事情..我期待得到這兩個值(ID和名稱)與他們做些事情。數據它只是一個var到數據綁定,所以我可以顯示文本塊上的值。 – nhenrique 2012-08-14 14:20:20

回答

0

由於您綁定了項目的屬性,因此您需要修改數據綁定以使用Path。

所以你的XAML應該是

<TextBlock Text="XML Data:"/> 
      <ListBox x:Name="listBox"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel Margin="10" > 
          <TextBlock Text="{Binding Path=name}"/> 
          <TextBlock Text="{Binding Path=id}"/> 
         </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
       </ListBox> 

更多路徑綁定信息here

+0

好的謝謝,它的工作;) – nhenrique 2012-08-17 14:49:58