HtmlAgility remove attribut du paramètre style du nœud Div

c# html-agility-pack

Question

Je suis coincé en train d'essayer de supprimer une définition de style de l'attribut style d'un élément DIV. Code HTML:

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

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

Il peut y avoir plus d'un de ces éléments sur lesquels je dois appliquer la manipulation.

Voici ce que j'ai jusqu'à présent en utilisant 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
  }
 }

Mon processus de pensée était de sélectionner ceux qui ont un attribut de style. Recherchez une définition de largeur maximale et supprimez-la.

Des conseils sur la façon dont cela peut être réalisé?

Réponse acceptée

Merci à Marcel de m'avoir orienté dans la bonne direction:

Voici la solution qui a fonctionné pour moi.

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;
                }
            }


Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow