html-agility-pack - 替换 Html Agility 中的标签

标签 html-agility-pack

我正在尝试更换我所有的 h1带有 h2 的标签标签,我正在使用 HtmlAgility 包。

我这样做了:

var headers = doc.DocumentNode.SelectNodes("//h1");
if (headers != null)
{
    foreach (HtmlNode item in headers)
    {
        //item.Replace??
    }
}

我被困在那里。我试过这个:
var headers = doc.DocumentNode.SelectNodes("//h1");
if (headers != null)
{
    foreach (HtmlNode item in headers)
    {
        HtmlNode newNode = new HtmlNode(HtmlNodeType.Element, doc, item.StreamPosition);
        newNode.InnerHtml = item.InnerHtml;
        // newNode suppose to set to h2
        item.ParentNode.ReplaceChild(newNode, item);
    }
}

问题是我不知道如何创建新的 h2,获取所有属性等。
我确定有一个简单的方法可以做到这一点,有什么想法吗?

最佳答案

var headers = doc.DocumentNode.SelectNodes("//h1");
        if (headers != null)
        {
            foreach (HtmlNode item in headers)
            {
                item.Name = "h2"
            }
        }

关于html-agility-pack - 替换 Html Agility 中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936116/

相关文章:

c# - HTMLAgilityPack - 删除节点而不剥离内部文本

c# - 使用Html Agility Pack解析Html

c# - 使用 html 敏捷包在类里面获取链接

c# - HtmlAgilityPack 和大型 HTML 文档

c# - 使用 HtmlAgilityPack 选择节点不起作用

c# - 如何使用 HTML Agility Pack 编辑 HTML 片段

c# - 使用 HtmlAgilitypack 问题解析表

c# - 选择带有 "Html Agility pack"的特定 html

c# - 全部的 HtmlAgilityPack 子串按长度

c# - 表格末尾的 HTML Agility Pack tr 插入