Sostituzione dei tag in HtmlAgility

html-agility-pack

Domanda

Sto cercando di sostituire tutti i miei tag h1 con tag h2 e sto utilizzando il pacchetto HtmlAgility.

L'ho fatto:

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

e mi sono bloccato lì. Ho provato questo:

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);
    }
}

il problema è che non ho idea di come creare una nuova h2, ottenere tutti gli attributi ecc. Sono sicuro che ci sia un modo semplice per farlo, qualche idea?

Risposta popolare

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


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché