Html 敏捷包 - 新的 HtmlAttribute

Posted

技术标签:

【中文标题】Html 敏捷包 - 新的 HtmlAttribute【英文标题】:Html Agility Pack - New HtmlAttribute 【发布时间】:2013-08-26 08:59:25 【问题描述】:

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

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

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

其中attrClassHtmlAttributeclass="active"

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

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

我可以使用其他方法来实现我的目标吗?

【问题讨论】:

【参考方案1】:

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

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

所以:

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

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

【讨论】:

【参考方案2】:
node.Attributes.Add("class","active");

【讨论】:

以上是关于Html 敏捷包 - 新的 HtmlAttribute的主要内容,如果未能解决你的问题,请参考以下文章

HTML 敏捷包 - 解析表

HTML 敏捷包

HTML 敏捷包选择节点

HTML 敏捷包,无法选择节点

C# Html 敏捷包 ( SelectSingleNode )

HTML 敏捷包:解析 href 标签