Html Agility Pack: la configuración de un valor de atributo de HtmlNode no se refleja en el HtmlDocument

html-agility-pack setattribute

Pregunta

En Html Agility Pack, cuando establezco un atributo de un HtmlNode, ¿debería ver esto en el HtmlDocument desde el que se seleccionó el nodo?

Digamos que htmlDocument es un HtmlDocument. Entonces el código simplificado se ve así:

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

Ahora, veo el atributo de clase del cambio de nodo, pero no veo este cambio reflejado en el html del documento htmlDocument.

Respuesta aceptada

En realidad fue un caso de ProgrammerTooStupidException :(

Usé una clase MyHtmlPage, con una propiedad Html y una DocumentProperty.

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

Ahora, de la manipulación del curso, el DocumentNode no tuvo efecto en el valor _html.

Publicando esta respuesta para borrar el nombre de HAP.




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué