HtmlAgilityPack HasAttribute?

c# html-agility-pack

質問

私がしたいのは

node.Attributes["class"].Value

しかし、ノードにclass属性がない場合、クラッシュします。だから、私は最初にその存在を確認しなければならないのですか?それ、どうやったら出来るの? Attributesはdict(内部のdict ??を含むリスト)ではなく、HasAttributeメソッドはありません(HasAttributesは属性を持っているかどうかを示します)。私は何をしますか?

受け入れられた回答

これを試して:

String val;
if(node.Attributes["class"] != null)
{
  val = node.Attributes["class"].Value;
}

または、これを追加できるかもしれません

public static class HtmlAgilityExtender
{
    public static String ValueOrDefault(this HtmlAttribute attr)
    {
        return (attr != null) ? attr.Value : String.Empty;
    }
}

そして、

node.Attributes["class"].ValueOrDefault();

私はそれをテストしなかったが、うまくいくはずだ。


人気のある回答

これを試してください:

String abc = String.Empty;     
      if (tag.Attributes.Contains(@"type"))
      {
          abc = tag.Attributes[@"type"].Value;
      }


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ