HtmlAgility elimina el atributo del parámetro de estilo del nodo Div

c# html-agility-pack

Pregunta

Estoy atascado tratando de eliminar una definición de estilo del atributo de estilo de un elemento DIV. Código HTML:

<div class="el1" style="width:800px; max-width:100%" />
...

<div class="el2" style="width:800px; max-width:100%" />

Puede haber más de 1 de estos elementos a los que necesito aplicar la manipulación.

Aquí está lo que tengo hasta ahora usando HtmlAgilityPack.

foreach (HtmlNode div in doc.DocumentNode.SelectNodes("//div[@style]"))
{
  if (div != null)
  {
    div.Attributes["style"].Value["max-width"].Remove(); //Remove() does not appear to be a function
  }
 }

Mi proceso de pensamiento fue seleccionar cualquiera con un atributo de estilo. Busque una definición de ancho máximo y elimínela.

¿Alguna orientación sobre cómo se puede lograr esto?

Respuesta aceptada

Gracias a Marcel por indicarme la dirección correcta:

Aquí está la solución que funcionó para mí.

HtmlNodeCollection divs = doc.DocumentNode.SelectNodes("//div[@style]");
            if (divs != null)
            {
                foreach (HtmlNode div in divs)
                {
                    string style = div.Attributes["style"].Value;
                    string pattern = @"max-width(.*?)(;)";
                    Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
                    string newStyle = regex.Replace(style, String.Empty);
                    div.Attributes["style"].Value = newStyle;
                }
            }



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué