Wenn ich in Html Agility Pack ein Attribut eines HtmlNode setze, sollte ich dies in dem HtmlDocument sehen, aus dem der Knoten ausgewählt wurde?
Sagen wir, dass htmlDocument ein HtmlDocument ist. Der vereinfachte Code sieht also so aus:
HtmlNode documentNode = htmlDocument.DocumentNode;
HtmlNodeCollection nodeCollection = documentNode.SelectNodes(someXPath);
foreach(var node in nodeCollection)
if(SomeCondition(node))
node.SetAttributeValue("class","something");
Jetzt sehe ich das Klassenattribut der Knotenänderung, aber ich sehe diese Änderung nicht im HTML von htmlDocument.
Eigentlich war es ein Fall von ProgrammerTooStupidException :(
Ich habe eine MyHtmlPage-Klasse mit einer Html-Eigenschaft und einer DocumentProperty verwendet.
_html = theHtml;
_htmlDocument = new HtmlDocument();
HtmlDocument.LoadHtml(theHtml)l
_documentNode = HtmlDocument.DocumentNode;
Nun hatte der DocumentNode keine Auswirkung auf den _html-Wert.
Veröffentlichen Sie diese Antwort, um den Namen von HAP zu löschen.