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

rory.ap

我正在使用这样的XmlDocument课程:

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

这会导致错误:

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

我收集到这归因于upper-caseXPath函数,据我了解它存在于XPath 2.0中,而不存在于1.0中(从此处在此处等)。

MSDN未指定其使用的XPath版本。我的目标是.NET 4.5.1,这还不晚到使用XPath 2.0吗?还是在其他地方(.NET之外)定义的东西?

如何找出要定位的XPath版本?

请注意,我知道使用的解决方法translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')-这不是我要的。

Xanatos

Microsoft从未实现XPath 2.0或Xslt 2.0 ...例如,请参阅2013年的uservoice在.NET中恰当地命名为XPath 2.0或XSLT 2.0的机支持)...

一个用户对2015年3月的最新评论:

我猜我们将永远不会看到这种情况,因为世界不再喜欢XML,而这全都与JSON有关。遗憾的是,在许多关键场景下,XML仍然比JSON更好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章