Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单独访问样式属性_C#_Html Agility Pack - Fatal编程技术网

C# 单独访问样式属性

C# 单独访问样式属性,c#,html-agility-pack,C#,Html Agility Pack,我正在c#中使用HtmlAgilityPack。我创建了一个具有如下属性的div元素: HtmlNode div = HtmlNode.CreateNode("<div></div>"); div.Attributes.Add("style","width:100px;height:100px;color:red;position:absolute;"); 您可以尝试使用,这实际上类似于jQuery: CQ div = CQ.Create("<div><

我正在c#中使用
HtmlAgilityPack
。我创建了一个具有如下属性的div元素:

HtmlNode div = HtmlNode.CreateNode("<div></div>");
div.Attributes.Add("style","width:100px;height:100px;color:red;position:absolute;");
您可以尝试使用,这实际上类似于jQuery:

CQ div = CQ.Create("<div></div>");

div.CssSet( new {
    width="100px",
    height="100px",
    color="red",
    position="absolute"
});

//.. or

div.Css("width","100px").Css( ... ) ...

string width = div.Css("width");       // width=="100px"

int widthInt = div.Css<int>("width");  // widthInt==100

有两个例外,
CssSet
是其中之一,javascript中的重载方法在C#中不起作用,因此必须使用不同的方法。(另一个是从对象设置时的
AttrSet
)。它还具有广泛的单元测试覆盖范围,包括从jQuery移植到C#的大部分测试套件,而且由于具有子选择功能的索引,选择器比HTML Agility Pack快得多(更不用说,因为它们只是CSS,所以不太容易混淆)。

Short anser:no.您可以使用GetAttributeValue来提取样式,但是您必须自己解析各个属性。
CQ div = CQ.Create("<div></div>");

div.CssSet( new {
    width="100px",
    height="100px",
    color="red",
    position="absolute"
});

//.. or

div.Css("width","100px").Css( ... ) ...

string width = div.Css("width");       // width=="100px"

int widthInt = div.Css<int>("width");  // widthInt==100
var nodeName = div[0].NodeName;         // nodeName=="DIV";

div[0].AppendChild(div.Document.CeateElement("span"));   // add a span child