c# - Html Agility Pack - 删除元素,但不删除 innerHtml

标签 c# html html-agility-pack

我可以通过 note.Remove() 轻松删除元素,如下所示:

HtmlDocument html = new HtmlDocument();

html.Load(Server.MapPath(@"~\Site\themes\default\index.cshtml"));

foreach (var item in html.DocumentNode.SelectNodes("//removeMe"))
{
    item.Remove();
}

但这也删除了 innerHtml。 如果我只想删除标签并保留 innerHtml 怎么办?

例子:

<ul>
    <removeMe>
        <li>
            <a href="#">Keep me</a>
        </li>
    </removeMe>
</ul>

任何帮助将不胜感激:)

最佳答案

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);

var node = doc.DocumentNode.SelectSingleNode("//removeme");
node.ParentNode.RemoveChild(node, true);

关于c# - Html Agility Pack - 删除元素,但不删除 innerHtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092575/

相关文章:

javascript - Knockout.js 验证

c# - 使用 HtmlAgilityPack 获取 href innertext

c# - 使用 HAP (HTML Agility Pack) 从页面获取数据

c# - 我如何知道执行更新的 SQL Server 存储过程是否有效?

javascript - 如何将 C# 与 javascript 混合使用以更改 html?

c# - 为什么我当前添加的列表框项目不可访问?

c# - C#-将* .wav文件加载到字节数组时伪造数据

javascript - 将数据值从 HTML 传递到 JS

html - 将高度设置为 100vh 时,页面在垂直方向上显示为屏幕大小的两倍以上

c# - 无法使用 HtmlAgilityPack C# ASP.NET 在 <ul> 中获取子类别