将RTF转换为XML

时间:2011-11-17 13:39:51

标签: java xml text rtf

已经有很多问题要问这个,我几乎已经阅读了所有这些问题。据我所知,当涉及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文档中提取文本,但由于doucment未正确分隔,我不确定如何维护层次结构。

还有其他开源库吗?

有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:0)

如果您可以从文档中提取文本,那么您是否可以使用正则表达式来解析其内容并创建必要的结构?您可以迭代搜索/^\s*([0-9.])+\s*(\w+)/之类的模式,然后计算第一个匹配组中的点,并添加新元素:

  • 如果点数等于先前处理元素中的点数 - 作为其兄弟;
  • 如果更大 - 作为其孩子,
  • 如果较小 - 作为其父母的兄弟姐妹。