HtmlAgilityPack HtmlDocument: Comment mettre à jour le code HTML externe?

c# html-agility-pack xmldocument

Question

J'essaie de mettre à jour le code HTML externe à l'aide de HtmlAgilityPack. La propriété s'affiche en lecture seule. Ma question est de savoir comment mettre à jour le code HTML externe? Remarque: j'ai besoin de mettre à jour le code HTML externe (pas uniquement le code HTML interne). Voici le code:

// Check if there is a nested table
HtmlAgilityPack.HtmlNode nestedtable = tr.SelectSingleNode(".//table");
if (nestedtable != null)
{
    // Save Inner/Outer Html and update Outer Html
    string strInnerHtml = nestedtable.InnerHtml;
    string strOuterHtml = nestedtable.OuterHtml;
    string strNewOuterHtml = "<table><tr><td><table><tr><td>inner1update</td><td>inner2update</td></tr></table></td></tr></table>";

    // Now update source HtmlDocument
    nestedtable.OuterHtml = strNewOuterHtml;  
    // ^^^ Error line: Property or indexer  
    //HtmlAgilityPack.HtmlNode.OuterHtml' cannot be assigned to -- it is read only
}

Réponse populaire

Vous pouvez utiliser ReplaceChild sur le parent, la syntaxe ressemble à ceci

var newNode = HtmlNode.CreateNode(strNewOuterHtml);
nestedtable.ParentNode.ReplaceChild(newNode, nestedtable);


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi