如何测试有效索引?

时间:2013-06-05 12:32:52

标签: .net xml xpath

将XPath设置为“/ root / name [bogus ='dave']”,其中伪节点不存在是合法的。它将在SelectSingleNode上返回null。

但XPath是“/ root / name [5]”,其中root下只有4个名称节点会引发异常。 (至少它在.NET中)。

测试并查看索引值是否有效的好方法是什么?

谢谢 - 戴夫

1 个答案:

答案 0 :(得分:1)

在XPath 1.0中,您可以评估此​​XPath表达式:

bool(/root/name[5])

如果<root>元素有第五个<name>子元素,则返回true。

但正如其他人所说,XPath本身不应该因尝试访问不存在的节点而引发异常。但是,如果您尝试取消引用空值,.NET库可能会引发异常。