#.net #html-agility-pack
#.net #html-адаптивный пакет
Вопрос:
с помощью.Net и htmlagilitypack. Попытка поместить внешний тег на узел как таковой («элемент» в цикле-это один из найденных тегов «раздел»):
lt;section aria-label="Tables"gt;...lt;/sectiongt; foreach (var item in extraTags.ToList()) { var newNode = HtmlNode.CreateNode("lt;oTag class='cCls'gt;" item.OuterHtml "lt;/oTaggt;"); item.ParentNode.ReplaceChild(newNode, item); }
Поэтому я ожидал бы, что новый узел будет выглядеть так:
lt;oTag class='cCls'gt;lt;section aria-label="Tables"gt;...lt;/sectiongt;lt;/oTaggt;
но вместо этого я получаю:
lt;oTag class='cCls'gt;lt;sectiongt;...lt;/sectiongt;lt;/oTaggt;
в нем отсутствует часть » aria-label=»Таблицы»». Как так вышло? и как это исправить?
Ответ №1:
Со мной работает следующее, можете ли вы перепроверить ?
var doc = new HtmlDocument(); doc.LoadHtml(@" lt;section aria-label='Tables'gt; Text lt;/sectiongt; "); var section = doc.DocumentNode.Element("section"); var newNode = HtmlNode.CreateNode("lt;oTag class='cCls'gt;" section.OuterHtml "lt;/oTaggt;"); section.ParentNode.ReplaceChild(newNode, section); Console.WriteLine(doc.DocumentNode.OuterHtml);