Jak korzystać z klasy XDocument w projekcie SilverLight (C #)
Próbuję utworzyć aplikację Silverlight (po raz pierwszy), która polega na analizowaniu XML z witryny i wyświetlaniu informacji. Aby to zrobić, korzystam z programu Visual Studio 2008 w systemie Windows XP z dodatkiem Service Pack 3. Mam także zainstalowany dodatek .NET Framework 3.5 SP1.
Moim problemem jest to, że żaden parser XML, który widziałem w Internecie, nie działa. Na początku mojego kodu mam obie linie, które uważam za konieczne (używając "System.xml;" i używając "System.linq;"), ale XDocument, XMLReader, XMLDocument i wszystkie inne, które znalazłem, nie działają, zwracając błąd że nie można znaleźć typu lub przestrzeni nazw. Mam .NET Framework.
W przypadku tego problemu absolutnie nic nie wymieniłem w Internecie. Czy ktoś ma jakieś pomysły?
EDYTOWAĆ:Właśnie odkryłem, że kiedy otwieram plik poza kontekstem projektu Silverlight, może on używać XDocument. Tylko wtedy, gdy otwieram cały projekt, pojawia się mój problem
Oto przykładowy kod pokazujący problem:
<code>using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.Xml.Linq; //Error 1 (See below) namespace LastfmAmazon { public partial class Page : UserControl { public Page() { InitializeComponent(); } public void DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { XDocument doc = XDocument.Parse(e.Result); //Error 2: see below } public void Button_Click(object sender, RoutedEventArgs e) { if (uname.Text != String.Empty) { App app = (App)Application.Current; app.UserName = uname.Text; String getTopArtists = "http://ws.audioscrobbler.com/2.0/?method=user.gettopartists&user=" + app.UserName + "&api_key=d2d620af554a60f228faed8d502c4936"; uname.Text = "Try Another One!"; WebClient web = new WebClient(); WebClient client = new WebClient(); client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadStringCompleted); client.DownloadStringAsync(new Uri(getTopArtists)); } } } } </code>
Błąd 1: Ten wiersz zawiera następujący błąd: Nazwa lub przestrzeń nazw „Linq” nie istnieje w przestrzeni nazw „System.Xml” (czy brakuje odwołania do zespołu?)
Błąd 2: ten wiersz zawiera następujący błąd: Nazwa lub przestrzeń nazw „XDocument” nie istnieje w przestrzeni nazw „System.Xml” (czy brakuje odwołania do zespołu?)
EDYTUJ 2: Po tym, jak użyłem Googled, co oznaczało „dodać odniesienie” do biblioteki, odpowiedź Anthony'ego rozwiązała problem.