2010-05-18 51 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类)。

干杯,亚历克斯