2010-05-18 58 views
3

任何人都可以請指導我如何在Silverlight(C#)中使用XElement來讀取XML文件。在Silverlight中使用XElement讀取XML

謝謝!

+0

這個問題不夠具體。您正在努力瞭解現有XElement文檔中的哪一部分? – AnthonyWJones 2010-05-18 08:10:13

+0

嗨安東尼。我添加了對System.Xml.Linq dll的引用。我可以看到它在我的Silverlight應用程序的引用文件夾中引用。然而,當我通過[使用system.Xml.Linq]導入它時,它說「你錯過了一個程序集引用」請幫助! – Jayesh 2010-05-18 08:17:01

回答

3

下面是一些示例代碼:

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

嗨,intellisense無法找到任何方法加載或解析XElement! 我是否需要從System.Linq中導入任何庫? – Jayesh 2010-05-18 07:05:01

+0

您需要引用System.Xml.Linq程序集,然後在C#中添加'using System.Xml.Linq'# – 2010-05-18 07:17:53

+0

我添加了對System.Xml.Linq的引用!然而,我不能添加「使用System.Xml.Linq」它給了我錯誤,「缺少組件」。當我看到我的項目的參考時,我可以看到對System.Xml.Linq tho的引用! – Jayesh 2010-05-18 07:25:14

1

您可以使用靜態XElement.Load方法例如加載XML從文件流或直接來自打包到.XAP中的XML文件。

下面是一個例子: link text

上的XElement的MSDN頁面或許也有幫助(谷歌:Silverlight中的XElement類)。

乾杯,亞歷克斯