0

Добрый вечер, господа! Мне требуется составить поле со следующими данными вида:

Дата Версия Изменения Ошибки

Выглядит html так:

<html>
<span id="version">
<span id="date">
date
</span>
<b>
version
</b>
<i>
<span id="issues">
<font color = "#FF0000">
issue
</font>
</span>
<span id="changelog">
<font color = "#0F8000">
changes
</font>
</span>
</i>
</span>
</br></br>
</html>

С созданием данных для поля я разобрался, но столкнулся с проблемой как реализовать метод (стандартными средствами без HtmlAgilityPack), который будет брать данные из форматированного поля, находить по id span'а данные и заменять их на новые. Буду очень благодарен, если поможете решить эту проблему!

private static void InsertInfo(Object obj, Dictionary<string, object> args)
{
    StringBuilder msg = new StringBuilder();
//здесь мне следует сделать метод поиска по ChangeLog объекта 
//и заменять существующие данные, либо добавлять новые

    msg.AppendFormat("<span id=\"{0}\"><span id=\"date\">{0}",HtmlTools.HtmlEncode(args["Date"].ToString()));
    msg.AppendFormat("<b> Версия {0} </b><i><span id=\"issues\">", HtmlTools.HtmlEncode(args["Version"].ToString()));
    msg.AppendFormat("<font color=\"#FF0000\">{0} ", HtmlTools.HtmlEncode(args["Issues"].ToString()));
    msg.AppendFormat("</font></span><span id=\"changelog\">");
    msg.AppendFormat("<font color=\"#0F8000\">{0}", HtmlTools.HtmlEncode(args["ChangeLog"].ToString()));
    msg.AppendFormat("</font></span></in></span></br></br>");

    obj["ChangeLog"] = msg.ToString();
}
astral
  • 63
  • А почему без HtmlAgilityPack? – Donil Mar 31 '16 at 15:36
  • нужно сделать этот код максимально переносимым и соответственно dll'ки этому помешают :c – astral Mar 31 '16 at 15:45
  • 1
    Ну, тогда нет смысла писать и на .NET, вдруг его не будет на целевой системе? И на C++ тоже, чтобы не таскать с собой redistributable. Пишите сразу на ассемблере, и под 80386 процессор! – VladD Mar 31 '16 at 17:12
  • 1
    Нет, серьёзно. Для сложных вещей наподобие разбора HTML вы должны использовать библиотеки. И да, должны таскать их с собой в инсталляционном пакете. Вручную, влёгкую, на шару разобрать HTML не получится. Стандартные средства этого не умеют. И не надейтесь сделать что-то регулярками. – VladD Mar 31 '16 at 17:13
  • 2
    А вообще, вам сюда: http://ru.stackoverflow.com/q/420354/10105 – VladD Mar 31 '16 at 17:15

0 Answers0