Построчный перевод HTML в XML

180
13 апреля 2018, 13:31

Есть структура в HTML следующего вида:

<div class="conditions-group and-logical">
    /*(Здесь расположена структура div'ов используемая для работы пользователя со структурой дерева, из данного примера удалена)*/
    <div class="conditions">
        <div class="condition">
            <div class="metric">
            /*Селект для выбора значения*/
            </div>
        </div>  
        /*Опциальнально в класс conditions может вкладываться ещё один conditions-group с такой же иерархией*/  
    </div>
</div>

Необходимо преобразовать в XML следующего вида:

<logical-operator>
    <value>and</value>
    <condition>
        <metric>какое-то значение из селекта</metric>
    </condition>
    /*Здесь также опционально может быть вложенный logical-operator с такой же структурой*/
</logical-operator>

Проблема заключается в непонимании как правильно считывать и записывать в XML. Сложность именно в том, что conditions-group может вкладываться в conditions-group и получается, что считывать HTML нужно построчно, проверять какой это класс и формировать XML.

  1. Можно ли обойтись без построчнного считывания, буду благодарен, если подскажете как.
  2. Если считывать построчно, то нужно находить разрыв строки и проверять регулярным выражением? Но насколько я знаю, регулярные выражения при HTML - парсинге - плохое решение.
  3. Как лучше формировать XML в таком случае? Можно ли формировать его вглубь? Т.е. спускаться по HTML и также формировать XML, явно не указывая закрывающие теги.

Заранее благодарен за помощь.

P.S. Использую (учусь :)) парсер AngleSharp

READ ALSO
Действие с элементом при нажатии

Действие с элементом при нажатии

Здравствуйте, есть таблица в html с ячейками, у каждой ячейки один и обработчик:

197
HTML код в JS без кавычек. Как это реализовано в React?

HTML код в JS без кавычек. Как это реализовано в React?

В методе ReactDOMrender React-a мы можем объявлять компоненты сразу HTML кодом

187
Не работает click в javascript, нужна помощь

Не работает click в javascript, нужна помощь

Всем привет, народ начинаю изучать js, вот есть скритец:

230
Браузер перестал видеть часть стилей? [требует правки]

Браузер перестал видеть часть стилей? [требует правки]

Пациент - по ссылкеВчера перестали показываться часть стилей

158