Html Agility Pack - Nouveau HtmlAttribute

c# html html-agility-pack

Question

Utilisation de HTML Agility Pack en C # J'ai un nœud auquel j'aimerais ajouter un attribut.

Actuellement, le noeud est un élément <li> sans attributs et j'aimerais lui ajouter une classe "active".

Il semble que la meilleure chose à utiliser serait node.Attributes.Add(attrClass)

attrClass est un HtmlAttribute de class="active" .

Cependant, si j'essaie de définir un nouvel HtmlAttribute j'obtiens une erreur indiquant qu'il ne possède aucun constructeur. HtmlAttribute attrClass = new HtmlAttribute();

Y at-il un problème avec ma référence Pack d'agilité HTML, ou est-ce que je fais quelque chose de mal

Existe-t-il une autre méthode que je pourrais utiliser pour atteindre mon objectif?

Réponse acceptée

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

Réponse populaire

La classe HtmlAttribute a un constructeur, qui est internal . Par conséquent, vous n’auriez pas accès à l’appeler, ce qui entraînerait une erreur dans un cas

Cependant, il est exposé ailleurs, sous la classe HtmlDocument .

Alors:

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

Vous avez alors un HtmlAttribute représentant l'attribut de class avec une valeur active .



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi