Dans le pack d'agilité HTML, lorsque je définis un attribut d'un nœud HtmlNode, dois-je le voir dans le document HTML à partir duquel le nœud a été sélectionné?
Disons que htmlDocument est un htmlDocument. Donc, le code simplifié ressemble à ceci:
HtmlNode documentNode = htmlDocument.DocumentNode;
HtmlNodeCollection nodeCollection = documentNode.SelectNodes(someXPath);
foreach(var node in nodeCollection)
if(SomeCondition(node))
node.SetAttributeValue("class","something");
Maintenant, je vois l'attribut de classe du changement de noeud, mais je ne vois pas ce changement reflété dans le html de htmlDocument.
En fait, c’était un cas de ProgrammerTooStupidException :(
J'ai utilisé une classe MyHtmlPage, avec une propriété HTML et un DocumentProperty.
_html = theHtml;
_htmlDocument = new HtmlDocument();
HtmlDocument.LoadHtml(theHtml)l
_documentNode = HtmlDocument.DocumentNode;
Désormais, lors de la manipulation de cours, le DocumentNode n’a aucun effet sur la valeur _html.
Poster cette réponse pour effacer le nom de HAP.