【发布时间】:2013-06-05 12:32:51
【问题描述】:
在不存在虚假节点的情况下,具有“/root/name[bogus = 'dave']”的 XPath 是合法的。它将在 SelectSingleNode 上返回 null。
但是在根目录下只有 4 个名称节点的“/root/name[5]”的 XPath 会引发异常。 (至少在 .NET 中是这样)。
什么是测试索引值是否有效的好方法?
谢谢 - 戴夫
【问题讨论】:
-
请向我们展示导致异常的代码。
-
(因为我可以先
var x = XDocument.Parse("<root><a /></root>");然后var n = x.XPathSelectElement("/root/a[5]");得到null,不是例外) -
是的,如果 xspth 没有找到某些东西,则不应该(也不是)异常。看起来你没有测试返回是否不为空。
-
抛出什么异常?