C #: trova l'attributo HTML e sostituisci il valore utilizzando HTMLAgilityPack

dom html html-agility-pack

Domanda

Ciao Sto sperimentando come usare HTMLAgilityPack Vs usando Regex (non sono sicuro che sia più costoso). Il mio ID domanda con HTMLAgilityPack sono in grado di estrarre l'attributo richiesto e sostituirlo con uno nuovo; tuttavia, non riesco a aggiornare il testo originale. Ecco il codice;

string input = @"<area shape=""rect"" coords=""0,0,82,126"" href=""one"" alt=""Sun""> <area shape=""rect"" coords=""0,0,82,126"" href=""two"" alt=""Sun"" > <area shape=""rect"" coords=""0,0,82,126"" href=""Three"" alt=""Sun"" >";

HtmlDocument document = new HtmlDocument();
document.LoadHtml(input);

HtmlNodeCollection nodes = document.DocumentNode.SelectNodes("//area");

for (int i = 0; i < nodes.Count; i++ )
{
    HtmlNode node = nodes[i];
    var href = node.Attributes["href"].Value;
    //Reassigning href value
    node.Attributes["href"].Value="Re-Assign ["+i+"]";
}

Ora voglio farlo riflettere nella variabile "input" originale. Qualche idea su come procedere?

Grazie

Risposta popolare

Sto anche sperimentando come usare l'Agility Pack. Prova con:

String HTML = nodes.DocumentNode.WriteTo();

è necessario scrivere gli aggiornamenti nel testo originale.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché