Мой XML может выглядеть так:
<div>
<p>
First Text
<br/>
Second Text
</p>
</div>
Загружаем xml-файл, проходим по всем узлам со следующим кодом:
XmlDocument doc = new XmlDocument();
doc.Load(filepath);
foreach (XmlNode row in doc.SelectNodes("/div/p"))
{
string subtext = row.InnerText;
richtextbox.AppendText(subtext + "\n");
}
Результат всегда будет выглядеть так:
First TextSecond Text
Теперь проблема, очевидно, в том, что между первым и вторым текстом нет пробела (или даже разрыва строки). Итак, есть ли способ заменить это <br/>
пробелом/разрывом строки?
XMLDocument.Load
пытается разобрать это, HTML — это не XML. HTML является подмножеством SGML, XML также является подмножеством SGML. Вместо этого вы должны использовать анализатор HTML или загружать только XML. - person Cameron Aavik   schedule 10.06.2017<br>
, а не<br/>
(самозакрывающийся). В нынешнем виде это правильно сформированный XML. - person Daniel Haley   schedule 10.06.2017