我正在尝试用 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/

10-12 12:43