Html Agility Pack:设置HtmlNode的属性值不会反映在HtmlDocument中

时间:2011-01-04 01:34:08

标签: html-agility-pack setattribute

在Html Agility Pack中,当我设置HtmlNode的属性时,我应该在从中选择节点的HtmlDocument中看到这个吗?

让我们说htmlDocument是一个HtmlDocument。所以简化的代码如下所示:

HtmlNode documentNode = htmlDocument.DocumentNode;
HtmlNodeCollection nodeCollection = documentNode.SelectNodes(someXPath);
foreach(var node in nodeCollection)
   if(SomeCondition(node))
       node.SetAttributeValue("class","something");

现在,我看到节点更改的类属性,但我没有看到这个更改反映在htmlDocument的html中。

1 个答案:

答案 0 :(得分:1)

实际上这是ProgrammerTooStupidException的案例:(

我使用了MyHtmlPage类,带有Html属性和DocumentProperty。

_html = theHtml;
_htmlDocument = new HtmlDocument();
HtmlDocument.LoadHtml(theHtml)l
_documentNode = HtmlDocument.DocumentNode;

现在,在使用Coourse操作时,DocumentNode对_html值没有影响。

发布此回复以清除HAP的名称。