2010-05-18 6 views
3

Quelqu'un peut-il me guider sur la façon d'utiliser XElement dans Silverlight (C#) pour lire un fichier XML.Lire XML en utilisant XElement dans Silverlight

Merci!

+0

Cette question n'est pas assez spécifique. Quel morceau de la documentation XElement existante avez-vous du mal à comprendre? – AnthonyWJones

+0

Salut Anthony. J'ai ajouté une référence à System.Xml.Linq dll. Je peux le voir référencé dans le dossier de références de mon application silverlight. Pourtant, quand je l'importe en faisant [Using system.Xml.Linq], il dit "il vous manque une référence d'assemblage" S'il vous plaît, aidez! – Jayesh

Répondre

3

Voici quelques exemples de code:

private void Page_Loaded(object sender, RoutedEventArgs e) 
{ 
    DataGrid1.ItemsSource = GetStatusReport(); 
} 

public List<Status> GetStatusReport() 
{ 
    List<Status> statusReport = new List<Status>(); 

    XElement doc = XElement.Load(@"Data/StatusReport.xml"); 

    statusReport = (from el in doc.Elements() 
        select GetStatus(el)).ToList(); 

    return statusReport; 
} 

private Status GetStatus(XElement el) 
{ 
    Status s = new Status(); 
    s.Description = el.Attribute("Description").Value; 
    s.Date = DateTime.Parse(el.Attribute("Date").Value); 
    return s; 
} 
+0

Salut, intellisense ne trouve aucune méthode Load ou Parse for XElement! Ai-je besoin d'importer des bibliothèques autres que System.Linq? – Jayesh

+0

Vous devez référencer l'assembly System.Xml.Linq puis ajouter 'using System.Xml.Linq' dans C# –

+0

J'ai ajouté une référence à System.Xml.Linq! Cependant, je ne peux pas ajouter "using System.Xml.Linq" il me donne l'erreur "assembly manquant". Quand je vois les références de mon projet, je peux voir une référence à System.Xml.Linq tho! – Jayesh

1

vous pouvez utiliser la méthode XElement.Load statique pour charger XML par exemple à partir d'un flux de fichier ou directement à partir d'un fichier XML empaqueté dans le fichier .XAP.

Voici un exemple: link text

La page MSDN sur XElement pourrait également être utile (Google: silverlight classe XElement). Cheers, Alex

Questions connexes