我正在使用这样的XmlDocument
课程:
divisionsDoc.SelectSingleNode(
string.Format(@"Root/PoliticalDivisions/PoliticalDivision[upper-case(@Code)='{0}']", withCode.ToUpper()));
这会导致错误:
需要名称空间管理器或XsltContext。该查询具有前缀,变量或用户定义的函数。
我收集到这归因于upper-case
XPath函数,据我了解它存在于XPath 2.0中,而不存在于1.0中(从此处,在此处等)。
MSDN未指定其使用的XPath版本。我的目标是.NET 4.5.1,这还不晚到使用XPath 2.0吗?还是在其他地方(.NET之外)定义的东西?
如何找出要定位的XPath版本?
请注意,我知道使用的解决方法translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')
-这不是我要的。
Microsoft从未实现XPath 2.0或Xslt 2.0 ...例如,请参阅2013年的该uservoice(在.NET中恰当地命名为XPath 2.0或XSLT 2.0的本机支持)...
一个用户对2015年3月的最新评论:
我猜我们将永远不会看到这种情况,因为世界不再喜欢XML,而这全都与JSON有关。遗憾的是,在许多关键场景下,XML仍然比JSON更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句