C #: encuentra el atributo HTML y reemplaza el valor usando HTMLAgilityPack

dom html html-agility-pack

Pregunta

Hola, estoy experimentando cómo usar HTMLAgilityPack Vs usando Regex (no estoy seguro de cuál es más caro). Identificación de mi pregunta con HTMLAgilityPack Puedo extraer el atributo requerido y reemplazarlo por uno nuevo; Sin embargo, parece que no puedo actualizar el texto original. Aquí está el código;

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+"]";
}

Ahora quiero hacer que esto se refleje en la variable original de "entrada". ¿Alguna idea de cómo proceder?

Gracias

Respuesta popular

También estoy experimentando cómo usar el paquete Agility. Intenta con:

String HTML = nodes.DocumentNode.WriteTo();

Necesitas escribir las actualizaciones en el texto original.



Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow