HtmlAgilityPack HasAttribute?

c# html-agility-pack

Domanda

Tutto quello che voglio fare è

node.Attributes["class"].Value

Ma se il nodo non ha l'attributo class , si blocca. Quindi, devo prima verificarne l'esistenza, giusto? Come lo faccio? Attributes non sono un dict (è un elenco che contiene un dict interno) e non esiste un metodo HasAttribute (solo un HasAttributes che indica se ha un attributo qualsiasi). Cosa faccio?

Risposta accettata

Prova questo:

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

O potresti essere in grado di aggiungere questo

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

E poi usa

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

Non l'ho provato, ma dovrebbe funzionare.


Risposta popolare

Per favore prova questo:

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



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché