为什么 htmlagilitypack 在创建新节点时不包含属性?

Why doesn't htmlagilitypack include attribute when creating a new node?

使用 .Net 和 htmlagilitypack。尝试将外部标签放在节点上(循环中的 'item' 是找到的 'section' 标签之一):


<section aria-label="Tables">...</section>

        foreach (var item in extraTags.ToList())
        {
            var newNode = HtmlNode.CreateNode("<oTag class='cCls'>" + item.OuterHtml + "</oTag>");
            item.ParentNode.ReplaceChild(newNode, item);
        }

所以我希望新节点看起来像:

<oTag class='cCls'><section aria-label="Tables">...</section></oTag>

但我得到:

<oTag class='cCls'><section>...</section></oTag>

它省略了 'aria-label="Tables"' 部分。怎么会?以及如何修复?

以下是我的作品,你能仔细检查一下吗?

    var doc = new HtmlDocument();
    doc.LoadHtml(@"
        <section aria-label='Tables'>
            Text
        </section>
    ");
    var section = doc.DocumentNode.Element("section");
    var newNode = HtmlNode.CreateNode("<oTag class='cCls'>" + section.OuterHtml + "</oTag>");
    section.ParentNode.ReplaceChild(newNode, section);

    Console.WriteLine(doc.DocumentNode.OuterHtml);