.NET 3.5并不完全支持XPATH 2.0或XSLT 2.0,这太糟糕了.有谁知道这两个将在未来的.NET版本中被包含和完全支持吗?
我正在使用这样的XmlDocument类:
divisionsDoc.SelectSingleNode(
string.Format(@"Root/PoliticalDivisions/PoliticalDivision[upper-case(@Code)='{0}']", withCode.ToUpper()));
Run Code Online (Sandbox Code Playgroud)
这导致了错误:
需要命名空间管理器或XsltContext.此查询具有前缀,变量或用户定义的函数.
我收集这是由于upper-caseXPath函数,我理解存在于XPath 2.0而不是1.0(从这里,这里等)
MSDN未指定它使用的XPath版本.我的目标是.NET 4.5.1 - 使用XPath 2.0还不够晚吗?或者是其他地方(.NET之外)定义的东西?
如何找出目标版本的XPath?
请注意,我知道使用的解决方法translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')- 这不是我要求的.