#c# #html-agility-pack
#c# #html-адаптивный пакет
Вопрос:
lt;p style="text-align:right;margin-bottom:0pt;margin-top:0pt;text-indent:0%;font-family:Times New Roman;font-size:11pt;"gt; lt;/pgt;
здесь вы можете увидеть пробел внутри тега p, хотите удалить этот пробел из всего html — документа. Я использую пакет HTMLAgility, чтобы удалить уже несколько HTML-символов. Не знаю, как мне удалить этот пробел.
Ответ №1:
Пример того, как это сделать, поиск всех элементов абзаца, которые имеют только пробелы в качестве внутреннего текстового значения, замена этих элементов абзаца пустыми абзацами.
var doc = new HtmlDocument(); doc.LoadHtml( @"lt;bodygt; lt;pgt; lt;/pgt; lt;spangt;My span text ! lt;/spangt; lt;pgt; lt;/pgt; lt;/bodygt;"); //Using HtmlAgilityPack.CssSelectors.NetCore var ps = doc.QuerySelectorAll("p").Where(p =gt; p.InnerText.ToCharArray().All(c =gt; char.IsWhiteSpace(c))); for(var i = 0; i lt; ps.Count(); i ) { var p = ps.ElementAt(i); var newP = HtmlNode.CreateNode("lt;pgt;lt;/pgt;"); p.ParentNode.ReplaceChild(newP, p); } doc.Save("demo.html");