通用Windows平台中的System.Xml.XPath

时间:2016-01-14 19:00:55

标签: c# .net xml xpath uwp

根据MSDN,System.Xml.XPath中的Extensions类应该可用于通用Windows平台(Windows 10):

https://msdn.microsoft.com/en-us/library/system.xml.xpath.extensions(v=vs.110).aspx

但是在默认配置中,甚至System.Xml.XPath命名空间都不可用。 编译器和IntelliSense没有找到它,甚至Resharper也找不到丢失的引用 - 尽管根据MSDN,它应该在System.Xml.Linq.dll中。 (我可以毫无问题地使用LINQ)

同样在参考经理中,我无法找到合适的装配。

通过一些研究,我在NuGet上找到了这个官方的System.Xml.XPath包: https://www.nuget.org/packages/System.Xml.XPath/

但是,这不包含Extension类(因此也包含XPathSelectElement扩展方法)。 (但至少是其他XPath类)

我做错了什么或者这是文档中的错误,这些类都不适用于Windows 10?

编辑: 我已经完成的事情:

  • Visual Studio重启
  • Windows重启
  • 在另一台计算机上测试

3 个答案:

答案 0 :(得分:5)

因此,事实证明您必须使用Nuget添加 System.Xml.XPath.XDocument 包。 有点不幸的是,这在MSDN上没有记载。

归功于MSDN Social上的winffee: https://social.msdn.microsoft.com/Forums/windowsapps/en-US/46cc17ce-b562-4089-be9c-dd5aa53b36de/systemxmlxpath-in-universal-windows-platform?forum=wpdevelop

答案 1 :(得分:0)

您需要获取System.Xml.XPath Nuget包(正如您在问题中引用的那样):

System.Xml.Linq reference manager screengrab

这将添加程序集和正确的引用,然后添加正确的using声明(除了System.Xml.Linq之外还需要声明):

using System.Xml.XPath;

sample XPathEval

这也允许XPathSelectElement(未描述,但在我的环境中工作)。

答案 2 :(得分:0)

要在UWP应用程序中启用XPath扩展,您可以添加以下nuget程序包

System.Xml.XPath.XmlDocument =>用于XMLDocument处理

System.Xml.XPath.XDocument =>用于XDocument处理。