Html Agility Pack - Nuovo HtmlAttribute

c# html html-agility-pack

Domanda

Utilizzo di Html Agility Pack in C # Ho un nodo a cui vorrei aggiungere un attributo.

Attualmente il nodo è un elemento <li> senza attributi e vorrei aggiungere una classe di "attivo".

Sembra che la cosa migliore da usare sia node.Attributes.Add(attrClass)

Dove attrClass è un HtmlAttribute di class="active" .

Tuttavia, se provo a definire un nuovo HtmlAttribute ottengo un errore che indica che non ha costruttori. Ad esempio HtmlAttribute attrClass = new HtmlAttribute();

C'è qualcosa di sbagliato nel mio riferimento a Html Agility Pack o sto facendo qualcosa in modo errato?

C'è un altro metodo che potrei usare per raggiungere il mio obiettivo?

Risposta accettata

node.Attributes.Add("class","active");

Risposta popolare

La classe HtmlAttribute ha un costruttore, che è internal . Quindi non avresti accesso per chiamarlo effettivamente, quindi avresti comunque un errore.

Tuttavia, viene esposto altrove, sotto la classe HtmlDocument .

Così:

HtmlDocument document = new HtmlDocument();
var attribute = document.CreateAttribute("class", "active");

Quindi hai un HtmlAttribute rappresenta l'attributo di class con un valore di active .




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é