Текст парсится в хаотичном порядке, одно слово на первой строке, второе на 2 и т.д. В оригинале это все идет в одну строку с небольшим отступом. Как убрать все пробелы и сделать нормальный вывод текста? c#
Как я понял, нужно выбрать и объединить содержимое текстовых узлов.
var sb = new StringBuilder();
foreach (var node in htmlDoc.DocumentNode.Descendants().OfType<HtmlTextNode>())
if (!string.IsNullOrWhiteSpace(node.Text))
sb.Append(node.Text.Trim()).Append(' ');
sb.Remove(sb.Length - 1, 1);
Вариант с LINQ:
var textNodes = htmlDoc.DocumentNode
.Descendants()
.OfType<HtmlTextNode>()
.Select(n => n.Text.Trim())
.Where(s => !string.IsNullOrWhiteSpace(s));
var result = string.Join(" ", textNodes);
Вместо DocumentNode
возьмите нужный узел.
Возможно, Trim
не нужен (зависит от содержимого). Возможно, не нужны проверки IsNullOrWhiteSpace
(также зависит от содержимого).
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не могу сделать C# обертку для enum C++ c помощью SWIGЗначение членов c++ enum, которые я хочу обернуть превосходят максимальное значение для Int32
Разбираюсь со свойствами зависимостиКак я понял, что бы создать свойство зависимости необходимо проделать следующие шаги (сейчас буду их сравнивать...