使用XPathNavigator检测空XML节点属性的存在

时间:2011-06-14 22:32:06

标签: .net xpath

是否有一种简单的方法可以检测XPathNavigator XML节点上是否存在属性(例如<node><node attribute="">)? Node.GetAttribute以任何一种方式返回一个空字符串。我唯一能想到的是检查Node.OuterXML属性,这似乎是一种非常愚蠢的方法。

(注意:节点实际上是空的,所以我不能只使用Node.HasAttributes。)

1 个答案:

答案 0 :(得分:5)

您可以使用XPath:

elem.SelectSingleNode("@attribute")

如果归因于null不存在,则会返回attribute,而XPathNavigator NodeTypeAttribute的{​​{1}}会返回Value如果属性存在,则包含空字符串,但为空。