2011-11-16 3 views
16

MSDNのXmlNode.Attributes topicに、その名前が与えられた属性が存在するかどうかをチェックする方法について調べていました。さて、アイテムをチェックする方法のサンプルはありません。どのような属性が各ノードに存在するかどう最善のアプローチをチェックすることです、だから、属性がXmlAttributeCollectionに存在するかどうかを確認するにはどうすればよいですか?

//some code here... 

    foreach (XmlNode node in n.SelectNodes("Cities/City")) 
    { 
     //is there some method to check an attribute like 
     bool isCapital = node.Attributes.Exist("IsCapital"); 

     //some code here... 
    } 

私のようなものがありますか? node.Attribute["IsCapital"]!=nullを使用してもよろしいですか?

答えて

32

ただ、インデクサを使用 - 属性が存在しない場合、インデクサはnullを返します。

bool isCapital = nodes.Attributes["IsCapital"] != null; 

これはXmlAttributeCollection.ItemOfProperty (String)に記載されています。

指定した名前のXmlAttribute。属性が存在しない場合、このプロパティはnullを返します。

+0

@JuniorMayhé - Obrigado! – Oded

+0

+1、素晴らしいキャッチです。 –

+0

存在する可能性がありますが、値が指定されていないブール属性には適用されません。 'のようなものです。 – Ivan

関連する問題