| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Выделение структуры документа |
| Автор: serious 15.4.2008, 13:47 | ||
Есть документ вида:
Некоторые части окумента опциональны, т.е. раздела или подраздела может и не быть, а вместо этого сразу начинаться глава. Как представить такой документ в виде иерархии объектов? Пробовал делать при помощи регулярного выражения, но оно получается слишком большим и толком не работает... |
| Автор: maxim1000 15.4.2008, 15:23 | ||
| тут можно сделать что-то вроде автомата со своим состоянием и идти ним по документу, постепенно строя дерево т.е. сначала у дерева только корень его и делаем текущим узлом когда встречаем какой-то отдельный объект документа (раздел/подраздел/глава), смотрим на текущий узел, если найденный объект по уровню ниже текущего, добавляем его, как элемент этого текущего, если такой же по уровню или выше - делаем текущим родителя текущего узла и повторяем анализ найденного объекта т.е. что-то типа такого:
|
| Автор: serious 15.4.2008, 16:07 | ||
Я сделал что-то вроде этого, но теперь не знаю, как избавиться от недостатков:
|