在C/ c++中读取OpenOffice文件

Reading an OpenOffice file in C/C++

本文关键字:读取 OpenOffice 文件 c++      更新时间:2023-10-16

我很好奇我如何能够使用我的编译器打开OpenOffice文档。我知道我可能会将其转换为文本文件或rtf,但我想知道是否有可能直接从。odt中读取。我想做的是简单地一行一行地读,就像一个。txt文件一样。任何想法都会很好,如果有帮助的话,我正在使用DevC。

根据维基百科,.odt文件只是一个标准的ZIP归档文件,包含以下内容:

    XML文件:
    • xml
    • xml
    • settings.xml
    • styles.xml
  • 其他文件
  • :
      <
    • mimetype/gh>
    • 目录
    • meta - inf/:
      • manifest.xml
    • 缩略图/:
      • thumbnail.png

Content.xml将包含该文件的内容(有关其他文件的信息,请参阅上面的Wikipedia链接)。您可以使用任何XML库来解析该XML文件(以及其他文件)以读取数据。程序所需要做的就是解压缩.odt文件,然后将要解析的XML文件传递给XML库。

你可以使用的XML库的例子在这个StackOverflow回答中提到。

对于解压缩.odt文件,您有一些不错的选项:

  • libzip作为这个StackOverflow答案的建议。
  • 7 zip

必须是C/c++吗?Linux Journal做了一篇很好的关于用Python解析ODT文件的文章。

http://www.linuxjournal.com/article/9347

思路是一样的,只是用不同的库来完成繁重的工作。