0

我必须将 XML 数据转换为 SQLite,然后对该 SQLite 数据运行一些查询并将查询结果转换回 XML。我们是否有任何 C++ 库来解决这个问题。我正在使用 Linux 操作系统。

问候,迪内什。

4

2 回答 2

1

你试过libxml++吗? http://developer.gnome.org/libxml++-tutorial/stable/

于 2012-07-07T11:39:57.530 回答
1

我不知道有一个图书馆在做这一切,如果是这样,那将是非常复杂的。我很确定您将需要使用两个不同的库:一个执行 XML 解析/写入,另一个执行 SQL 事务。这样你会有一个更好的设计——关注点分离

libxml 和 libsqlite 是两个示例,它们可能可以在您当前的发行版中快速安装。例如sudo apt-get install libsqlite3-dev libxml2-dev

然后你可能想要:

  1. 打开 xml,解析成 C++ 对象并存储在容器中,例如 std::vector,关闭 xml。
  2. 打开一个新的 sqlite 数据库,创建一个可能更多的表,迭代您的 C++ 对象容器,在迭代时将值插入表中;
  3. 对新表执行选择查询并读取结果集,用于存储/编辑 C++ 对象的每个结果;
  4. 创建一个新的 xml 根对象,迭代新的/修改的 C++ 对象,并为每个对象添加一个新的 xml 节点到根,将 xml 树写入一个新文件。

希望这可以帮助。

于 2012-07-07T15:54:40.303 回答