【问题标题】:Is there something wrong with my System.Xml.Linq library?我的 System.Xml.Linq 库有问题吗?
【发布时间】:2009-04-03 15:02:51
【问题描述】:

我正在尝试学习一些 Linq to XML 的东西,我在 XElement 中遇到了 XPathSelectElement 函数。这个功能似乎正是我需要的,但由于某种原因,我不能使用它!查看我的代码:

        XElement rootElement = XElement.Load(dataFile);
        XElement parentElement = rootElement.XPathSelectElement(xPath);

我在任何需要的地方都包含了对 System.Xml.Linq 的引用。我尝试过的该库中的所有其他东西似乎都在工作,但 XPathSelectElement 甚至没有出现在 Visual Studio 的 Intellisense 中。

在构建上述代码时,我收到以下错误:

错误 1 ​​'System.Xml.Linq.XElement' 不包含定义 'XPathSelectElement' 并且没有扩展名 方法“XPathSelectElement”接受 类型的第一个参数 'System.Xml.Linq.XElement' 可能是 找到(您是否缺少使用 指令或程序集 参考?)C:\PageHelpControl\PageHelp.cs 155 50 HelpControl

【问题讨论】:

    标签: .net linq dll


    【解决方案1】:

    您尝试使用的方法是扩展方法。您需要包含 System.Xml.XPath 命名空间。

    【讨论】:

      【解决方案2】:

      只是为了将两个答案联系在一起......

      XPathSelectElement 是一种扩展方法。要将它用作扩展方法(即,就好像它是XNode 上的实例方法),您需要在相关命名空间的源代码中包含using 指令:

      using System.Xml.XPath;
      

      (这就是包含扩展方法的Extensions 类所在的位置。)

      这与您在代码中需要 using System.Linq; 的方式相同,然后您才能在 IEnumerable<T> 上使用 SelectWhere 等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多