我試圖訪問在線XML文件並在Windows Phone 7 Silverlight應用程序中顯示它的內容。我沒有收到任何錯誤,但是當模擬時,XML文件中沒有顯示任何內容。從我在網上收集到的信息來看,我只是簡單地把事情搞亂了。我只是不確定是什麼。Silverlight WP7應用程序不顯示XML內容
MainPage.xaml.cs中:
namespace TwitterMix
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
private void GetRoster()
{
WebClient rstr = new WebClient();
rstr.DownloadStringCompleted += new DownloadStringCompletedEventHandler(roster_DownloadStringCompleted);
rstr.DownloadStringAsync(new Uri("http://www.danfess.com/data.xml"));
}
void roster_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
return;
XElement xmlPersons = XElement.Parse(e.Result);
var list = new List<RosterViewModel>();
foreach (XElement person in xmlPersons.Elements("person"))
{
var name = person.Element("name").Value;
var age = person.Element("age").Value;
list.Add(new RosterViewModel
{
Name = name,
Age = age,
});
}
rosterList.ItemsSource = list;
}
public class RosterViewModel
{
public string Name { get; set; }
public string Age { get; set; }
}
}
}
MainPage.xaml中:
<Grid x:Name="ContentPanel" Grid.Row="1">
<ListBox HorizontalAlignment="Left" Name="rosterList" VerticalAlignment="Top" Width="468" Height="600">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Height="132">
<StackPanel Width="370">
<TextBlock Text="{Binding Name}" Foreground="White" FontSize="28" />
<TextBlock Text="{Binding Age}" TextWrapping="Wrap" FontSize="24" Foreground="White" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
最後的XML文件的內容:
<?xml version="1.0" encoding="utf-8" ?>
<roster>
<person>
<name>Blake</name>
<age>25</age>
</person>
<person>
<name>Jane</name>
<age>29</age>
</person>
<person>
<name>Bryce</name>
<age>29</age>
</person>
<person>
<name>Colin</name>
<age>29</age>
</person>
</roster>
任何意見或建議,當然,非常感謝。謝謝大家的幫助!
X-Ref:http://stackoverflow.com/questions/4138694/connect-to-xml-file-at-web-address-for-wp7-app – 2010-11-11 09:25:59