HtmlAgilityPack을 사용하여 HTML 코드가 포함 된 문자열을 구문 분석합니다. 내가하려는 것은 <span>
태그를 제거하지만 태그 사이에 내용을 유지하는 것입니다. 지금까지 내 코드가 있습니다 :
var text = @"<div><span>This is some text.</span>More text here.</div>
<div>I have a question.<span>Hi</span></div>";
var doc = new HtmlDocument();
doc.LoadHtml(text);
var nodes = doc.DocumentNode.SelectNodes("//span");
foreach (HtmlNode node in nodes)
{
node.Remove();
}
String result = doc.DocumentNode.InnerHtml;
문제는 result
가 "This is some text"입니다. - <span>
태그 사이의 텍스트 내가 뭘 하려는지 어떻게 성취 할 수 있니? 그 node.Remove
실제로 전체 노드를 제거한다는 것을 node.Remove
습니다. 나는 remove.Node
라고 말할 수있는 방법이 있기를 remove.Node
지만, 내용은 그대로 유지했습니다.
손주를 유지하면서 부모로부터 그 노드를 제거하십시오.
foreach (var node in nodes)
{
node.ParentNode.RemoveChild(node,true);
}