그 (것)들을 제거하는 방법
C #에서 HtmlAgilityPack을 사용하여 내 HTML 문자열의 태그?

c# c#-4.0 html-agility-pack

문제

한 HTML 문자열이 있고 HTML 문자열을 구문 분석하는 데 HtmlAgilityPack 사용하고 있습니다.

이것은 내 HTML 문자열입니다.

<p class="Normal-P" style="direction: ltr; unicode-bidi: normal;"><span class="Normal-H">sample<br/></span> <span class="Normal-H">texting<br></span></p>

이 HTML 문자열은 두 곳에서 <br> 태그를 가지고 있습니다. 그래서, 두 태그를 모두 제거하고 싶습니다 ...

내 HTML 문자열에서 모든 <br> 태그를 제거하도록 도와 줄 수 있습니까?

수락 된 답변

다음과 같이 쉽습니다.

  • HTML 조각을 Agility Pack HtmlDocument 로로드
  • "//br" xpath 표현식을 사용하여 모든 <br /> 태그 가져 오기
  • Remove() 메서드를 사용하여 이전 단계에서 얻은 태그 Remove()
  • DocumentNode.OuterHtml 속성에서 결과를 검사합니다.

여기 코드에 있습니다 :

const string htmlFragment =
    @"<p class=""Normal-P"" style=""direction: ltr; unicode-bidi: normal;"">" +
    @"<span class=""Normal-H"">sample<br/></span>" +
    @"<span class=""Normal-H"">texting<br></span></p> ";

var document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(htmlFragment);

foreach (var brTag in document.DocumentNode.SelectNodes("//br"))
    brTag.Remove();

Console.WriteLine(document.DocumentNode.OuterHtml);

인기 답변

string html = ...;
string html = Regex.Replace(html, "<br>", "", RegexOptions.Singleline);


Related

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