在C#中使用Html Agility Pack我有一个节点,我想添加一个属性。
目前,该节点是一个没有属性的<li>
元素,我想在其中添加一个“活动”的类。
看起来最好用的是node.Attributes.Add(attrClass)
其中attrClass
是HtmlAttribute
的{{1}}。
但是,如果我尝试定义一个新的class="active"
,我会收到一条错误,指出它没有任何构造函数。例如HtmlAttribute
我的Html Agility Pack引用是否有问题,或者我做错了什么?
我可以使用另一种方法来实现我的目标吗?
答案 0 :(得分:20)
node.Attributes.Add("class","active");
答案 1 :(得分:6)
HtmlAttribute
类有一个构造函数,即internal
。因此,您无法实际调用它,因此无论如何都会出现错误。
但是,它在HtmlDocument
类下的其他地方公开。
所以:
HtmlDocument document = new HtmlDocument();
var attribute = document.CreateAttribute("class", "active");
然后,您有HtmlAttribute
代表class
属性,其值为active
。