Конвертировать RTF в XML - PullRequest
1 голос
/ 17 ноября 2011

Об этом уже задавалось много вопросов, и я прочитал почти все из них.Я понимаю, что нет ни одной библиотеки, которая будет делать все, что мы хотим, когда задействован RTF.

Однако я ищу новый взгляд на преобразование документа RTF в следующем формате в XML.

Это формат

      01.   AAAAAA
               01.1 BBBBB
               01.2 CCCCC
               01.3 DDDDD
     02.    ZZZZZZ
               2.1  YYYYYY
               2.2  XXXXXX
                      2.2.1  SUBSUB
               2.3  QQQQQ
               2.4  MMMM


     03.    GGGGG
                3.1 LLLLLLLL
                3.2 NNNNN

По сути, документ имеет неправильную структуру.В некоторых местах есть лишние пробелы, неравномерное количество подсписков и т. Д.,

Есть ли способ преобразовать его в структурированный формат, такой как XML, который поддерживает иерархию?

Я посмотрелв Apache Tikka.Библиотека извлекает текст из документа RTF, но поскольку элемент не разделен должным образом, я не уверен, как можно поддерживать иерархию.

Существуют ли другие библиотеки с открытым исходным кодом?

Есть предложения?о том, как подойти к этой проблеме?

1 Ответ

0 голосов
/ 18 ноября 2011

Если вы можете извлечь текст из документа, возможно, вы могли бы затем использовать регулярные выражения для анализа его содержимого и создания необходимой структуры?Вы можете выполнить поиск по шаблону, подобному /^\s*([0-9.])+\s*(\w+)/, затем подсчитать точки в первой соответствующей группе и добавить новый элемент:

  • , если количество точек равно количеству точек в предыдущемобработанный элемент - как его родной брат;
  • если больше - как его дочерний элемент,
  • , если меньше - как родной брат его родителя.
...