Html Agility Pack - Nuevo HtmlAttribute

c# html html-agility-pack

Pregunta

Utilizando Html Agility Pack en C # Tengo un nodo al que me gustaría agregar un atributo.

Actualmente el nodo es un elemento <li> sin atributos y me gustaría agregarle una clase de "activo".

Parece que lo mejor para usar sería node.Attributes.Add(attrClass)

Donde attrClass es un HtmlAttribute de class="active" .

Sin embargo, si intento definir un nuevo HtmlAttribute , HtmlAttribute un error que indica que no tiene ningún constructor. Por ejemplo, HtmlAttribute attrClass = new HtmlAttribute();

¿Hay algún problema con mi referencia de Html Agility Pack, o estoy haciendo algo incorrectamente?

¿Hay otro método que podría usar para lograr mi objetivo?

Respuesta aceptada

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

Respuesta popular

La clase HtmlAttribute tiene un constructor, que es internal . Por lo tanto, no tendrías acceso para llamarlo, por lo que obtendrías un error de cualquier manera.

Sin embargo, se expone en otros lugares, bajo la clase HtmlDocument .

Asi que:

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

A continuación, tiene un HtmlAttribute representa el atributo de class con un valor de active .



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué