是否有一种简单的方法可以检测XPathNavigator XML节点上是否存在空属性(例如<node>
与<node attribute="">
)? Node.GetAttribute
以任何一种方式返回一个空字符串。我唯一能想到的是检查Node.OuterXML
属性,这似乎是一种非常愚蠢的方法。
(注意:节点实际上是空的,所以我不能只使用Node.HasAttributes
。)
答案 0 :(得分:5)
您可以使用XPath:
elem.SelectSingleNode("@attribute")
如果归因于null
不存在,则会返回attribute
,而XPathNavigator
NodeType
和Attribute
的{{1}}会返回Value
如果属性存在,则包含空字符串,但为空。