System.Xml命名空间中似乎不存在XDocument

时间:2011-01-24 21:30:02

标签: c# xml windows-phone-7

我认为这可能是一个非常简单的问题,在开发我的第一个WP7应用程序时,我已经到了访问我的Site的api并解析XML的阶段,但是我只是在试图尝试使用XDocument。

我搜索并发现这个示例代码:Load an XML file from a website into XDocument (Silverlight and Windows Phone 7)但是XDocument类型不存在,我知道它应该存在于我正在使用的System.Xml命名空间中,但错误仍然存​​在,是什么我错过了吗?

在Visual Studio 2010 Express for Windows Phone上进行开发,此类的代码如下:

using System;
using System.Net;
using System.IO;
using System.Xml;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Application
{
    public class DataRetriever
    {
        public void parseNewsXML()
        {
            WebClient client = new WebClient();
            client.OpenReadCompleted += (sender, e) =>
                {
                    if (e.Error != null)
                        return;

                    Stream str = e.Result;
                    XDocument xdoc = XDocument.Load(str);
                };
        }
   } 

抛出的确切错误是: 错误1找不到类型或命名空间名称“XDocument”(您是否缺少using指令或程序集引用?)

提前致谢

1 个答案:

答案 0 :(得分:17)

对于Silverlight,根据MSDN,该类位于System.Xml.Linq.dll中 - 因此请添加对System.Xml.Linq.dll的引用。您还需要在代码文件顶部添加using指令:

using System.Xml.Linq;

(这些与编译器本身提出的两个建议完全相同:“您是否缺少using指令或汇编引用?”)