HtmlAgility는 Div 노드의 스타일 매개 변수에서 속성을 제거합니다.

c# html-agility-pack

문제

DIV 요소의 스타일 특성에서 스타일 정의를 제거하려고 시도했습니다. HTML 코드 :

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

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

조작을 적용 할 필요가있는 요소가 1 개 이상있을 수 있습니다.

여기까지 내가 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
  }
 }

내 생각 프로세스는 스타일 속성을 가진 모든 것을 선택하는 것이 었습니다. 최대 너비 정의를 찾아 제거하십시오.

이것이 어떻게 달성 될 수 있는지에 대한 지침이 있습니까?

수락 된 답변

나를 올바른 방향으로 향한 마르셀 감사합니다.

여기 나를 위해 일한 해결책이 있습니다.

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


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.