如何将嵌套的<p>标记删除到其他</p> <p>标记中,但将文本保留在其中。 (HtmlAgilityPack)</P>

时间:2014-03-14 15:10:22

标签: html html-agility-pack

我正在尝试使用HtmlAgilityPack格式化此输入Html

<p>This is <p>a nested paragraph 1</p></p>
<p>This is <p>a nested paragraph 2</p></p>

我想获得结果:

<p>This is a nested paragraph 1</p>
<p>This is a nested paragraph 2</p>

删除嵌套的段落标记。

下一个函数会删除所有p标记,但我想保留它们以防它们没有嵌套的p标记。

public void CleanNestedP()
{
    var nodesP = HtmlDocument.DocumentNode.Descendants("p");    
    foreach (var item in nodesP.ToList())
    {
        var descendantsP = item.Descendants("p");
        if (descendantsP.Any())
        {
            var replacement = HtmlDocument.CreateTextNode(item.InnerText);
            item.ParentNode.ReplaceChild(replacement, item);
        }
    }
} 

那里有任何HtmlAgilityPack专家吗?谢谢。

0 个答案:

没有答案