Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XmlDocument.SelectSingleNode使用什么版本的XPath?_C#_.net_Xml_Xpath - Fatal编程技术网

C# XmlDocument.SelectSingleNode使用什么版本的XPath?

C# XmlDocument.SelectSingleNode使用什么版本的XPath?,c#,.net,xml,xpath,C#,.net,Xml,Xpath,我使用的XmlDocument类如下: divisionsDoc.SelectSingleNode( string.Format(@"Root/PoliticalDivisions/PoliticalDivision[upper-case(@Code)='{0}']", withCode.ToUpper())); 这导致了错误: 需要命名空间管理器或XsltContext。此查询具有前缀, 变量,或用户定义的函数 我推测这是由于大写的XPath函数造成的,据我所知,XPath函数存在于

我使用的
XmlDocument
类如下:

divisionsDoc.SelectSingleNode(
    string.Format(@"Root/PoliticalDivisions/PoliticalDivision[upper-case(@Code)='{0}']", withCode.ToUpper()));
这导致了错误:

需要命名空间管理器或XsltContext。此查询具有前缀, 变量,或用户定义的函数

我推测这是由于
大写的
XPath函数造成的,据我所知,XPath函数存在于XPath 2.0中,而不是1.0(from等)

没有指定它使用的XPath版本。我的目标是.NET4.5.1——使用XPath2.0还不够晚吗?或者这是其他地方(在.NET之外)定义的东西

我怎样才能知道XPath的目标版本是什么?


请注意,我知道使用
translate('some text'、'abcdefghijklmnopqrstuvwxyz'、'abcdefghijklmnopqrstuvwxyz')所做的工作。
——这不是我要问的。

微软从未实现过XPath 2.0或Xslt 2.0。。。例如,请参见2013年的这篇文章(在.NET中恰当地命名为对XPath 2.0或XSLT 2.0的本机支持)

一位用户于2015年3月发表的最后评论:

我想我们永远也看不到这一点,因为世界不再喜欢XML了,它都是关于JSON的。这是一个遗憾,因为XML在许多关键场景中仍然比JSON好得多


另外,您需要在这里使用XPath吗?我个人只想使用LINQ to XML-例如,不必担心
with code
是否包含撇号-但我很感激您可能有其他要求。不。。。微软从未实现过XPath2.0或XSLT2.0。参见2011年的例子。在一条评论中,有人要求在2014年进行更新……这令人难以置信地沮丧,2018年XPath 1.0仍然是.NETYeah中唯一受支持的版本。如果你现在尝试这个链接,你会发现他们已经完全降低了用户的声音。没有“用户声音”。