Html Agility Pack: настройка атрибута атрибута HtmlNode не отражается в документе HtmlDocument

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");

Теперь я вижу атрибут класса изменения узла, но я не вижу, чтобы это изменение отразилось в html-документе htmlDocument.

Принятый ответ

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

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

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

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

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



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow