HTMLAgilityPack - 내부 텍스트를 제거하지 않고 노드 제거

c# html-agility-pack

문제

내 HTML 콘텐츠

<a href="#asdf">asdf</a>
<H5 align="left"><A href="#d570525d497.htm#toc">Table 
of Contents</A><br></H5>

html을로드하기 위해 HTML 민첩성 팩을 사용하고 있습니다. 나는 <a> 노드를 찾고 아래에서 언급 한 것처럼 내부 텍스트를 제거하지 않고 노드를 제거하려고합니다.

asdf
<H5 align="left">Table 
of Contents<br></H5>

아래 코드를 사용하고 있습니다.

var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlPage);
var Nodes = htmlDocument.DocumentNode.SelectNodes("//a");
foreach (var Node in Nodes)
{
    Node.InnerText.Trim();
}

작동하지 않습니다. 코드에 문제가 있습니까?

인기 답변

그랜드 아이들을 유지하면서 부모 노드 제거

foreach (var Node in Nodes)
{
    Node.ParentNode.RemoveChild(Node, true); //<-- keepGrandChildren
}

var newhtml = htmlDocument.DocumentNode.OuterHtml;

산출:

asdf
<h5 align="left">Table 
of Contents<br></h5>


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