HtmlAgility entfernt das Attribut vom Style-Parameter des Div-Knotens

c# html-agility-pack

Frage

Ich stehe fest, versucht, eine Stildefinition aus dem Stilattribut eines DIV-Elements zu entfernen. HTML Quelltext:

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

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

Es kann mehr als 1 dieser Elemente geben, auf die ich die Manipulation anwenden muss.

Hier ist, was ich bisher HtmlAgilityPack verwendet habe.

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

Mein Denkprozess war, irgendein mit einem Artattribut auszuwählen. Suchen Sie nach einer Definition für maximale Breite, und entfernen Sie sie.

Gibt es eine Anleitung, wie dies erreicht werden kann?

Akzeptierte Antwort

Danke Marcel, dass er mich in die richtige Richtung gelenkt hat:

Hier ist die Lösung, die für mich funktioniert hat.

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



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum