내 HTML 문서에 < br> 태그가 중복되거나 더 많이 발생하는 것을 제거하려고합니다. 이것은 내가 지금까지 (정말 바보 같은 코드)로 왔어요 것입니다 :HTML 민첩성 팩으로 중복 요소 체인 제거
HtmlNodeCollection elements = nodeCollection.ElementAt(0)
.SelectNodes("//br");
if (elements != null)
{
foreach (HtmlNode element in elements)
{
if (element.Name == "br")
{
bool iterate = true;
while(iterate == true)
{
iterate = removeChainElements(element);
}
}
}
}
private bool removeChainElements(HtmlNode element)
{
if (element.NextSibling != null && element.NextSibling.Name == "br")
{
element.NextSibling.Remove();
}
if (element.NextSibling != null && element.NextSibling.Name == "br")
return true;
else
return false;
}
}
코드는 BR에게 태그를 찾을 않습니다하지만 전혀 요소를 제거하지 않습니다.
고맙습니다. 이것을 수정 된 솔루션으로 해결했습니다. 분명히 HTML 민첩성 팩은
개의 노드를 하나의 br 노드로 해석 한 다음 빈 텍스트 노드와 br 노드를 차례로 해석합니다. 따라서 이전 노드 ** 두 단계를 다시 확인해야했습니다. 따라서 : **'element.PreviousSibling.PreviousSibling.Name == "br"'** 전에 null 검사로 해결했습니다. –