2011-01-04 1 views
1

В Html Agility Pack, когда я устанавливаю атрибут HtmlNode, должен ли я видеть это в HtmlDocument, из которого был выбран этот узел?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"); 

Теперь я вижу класс attribte изменения узла, но я не вижу, это изменение отражается в HTML в HTMLDocument в.

ответ

1

На самом деле это был случай ProgrammerTooStupidException :(

Я использовал класс MyHtmlPage, с свойством Html и DocumentProperty.

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

Теперь, coourse манипуляций DocumentNode не имело никакого влияния на _html значение.

Публикация этого ответа, чтобы удалить имя HAP.