Html Agility Pack - 新的HtmlAttribute

c# html html-agility-pack

在C#中使用Html Agility Pack我有一個節點,我想添加一個屬性。

目前,節點是一個沒有屬性的<li>元素,我想為它添加一個“active”類。

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

其中attrClassclass="active"HtmlAttribute

但是,如果我嘗試定義一個新的HtmlAttribute我會收到一條錯誤,指出它沒有任何構造函數。例如HtmlAttribute attrClass = new HtmlAttribute();

我的Html Agility Pack參考有什麼問題,或者我做錯了什麼?

我可以使用另一種方​​法來實現我的目標嗎?

一般承認的答案

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

熱門答案

HtmlAttribute類有一個構造函數,它是internal 。因此,您無法實際調用它,因此無論如何都會出錯。

但是,它在HtmlDocument類下面的其他地方暴露。

所以:

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

然後,您有一個HtmlAttribute表示class屬性,其值為active




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因