9

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

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

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

attrClass的一个HtmlAttribute在哪里class="active"

但是,如果我尝试定义一个新HtmlAttribute的,我会收到一个错误,指出它没有任何构造函数。例如HtmlAttribute attrClass = new HtmlAttribute();

我的 Html Agility Pack 参考有什么问题,还是我做错了什么?

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

4

2 回答 2

25
node.Attributes.Add("class","active");
于 2013-08-23T10:34:23.617 回答
6

该类HtmlAttribute有一个构造函数,即internal. 因此,您无权实际调用它,因此无论哪种方式都会出现错误。

但是,它在HtmlDocument类下的其他地方公开。

所以:

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

然后你有一个HtmlAttribute代表class属性的值为active

于 2013-08-23T10:41:12.923 回答