Я хотел бы использовать пакет HTMLAgility для замены узла в документе текстовым узлом.Целью этого является удаление тегов, окружающих сам узел.В настоящее время я делаю что-то вроде этого:
//This code fixes redundant HTML formatting tags
//This is a snippet of code
foreach (var hChildNode in hd.DocumentNode.SelectNodes("//b//b | //i//i | //u//u") ?? Enumerable.Empty<HtmlNode>())
hChildNode.Name = "remove";
StringBuilder sb = new StringBuilder(hd.DocumentNode.WriteTo());
sb.Replace("<remove>", string.Empty);
sb.Replace("</remove>", string.Empty);
Есть ли лучший способ сделать это?Если я пытаюсь создать новый текстовый узел и затем выполнить что-то вроде приведенного ниже фрагмента кода, я получаю недопустимую ошибку приведения:
foreach (var hChildNode in hd.DocumentNode.SelectNodes("//b//b | //i//i | //u//u") ?? Enumerable.Empty<HtmlNode>())
{
HtmlNode hNewNode = hd.CreateTextNode(hChildNode.InnerHtml);
hChildNode.ParentNode.ReplaceChild(hNewNode, hChildNode);
}
(обновляется после того, как опечатка была указана, однако проблема все еще остается)
Я неправильно использую метод?Есть ли другой метод, который я должен использовать для выполнения подобных функций?Спасибо.