Html Agility Pack - 新的HtmlAttribute

时间:2013-08-23 10:31:32

标签: c# html html-agility-pack

在C#中使用Html Agility Pack我有一个节点,我想添加一个属性。

目前,该节点是一个没有属性的<li>元素,我想在其中添加一个“活动”的类。

看起来最好用的是node.Attributes.Add(attrClass)

其中attrClassHtmlAttribute的{​​{1}}。

但是,如果我尝试定义一个新的class="active",我会收到一条错误,指出它没有任何构造函数。例如HtmlAttribute

我的Html Agility Pack引用是否有问题,或者我做错了什么?

我可以使用另一种方法来实现我的目标吗?

2 个答案:

答案 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