C++ 从 SQL 到 XML?

标签 c++ xml sqlite

<分区>

我仍在编写同一个 C++ 程序,到目前为止我的 SQL 数据库工作正常,现在我只需要从我的 SQL 中提取数据并将其转换为 XML,这样我就可以在网站上显示它。但到目前为止,我所有的尝试都失败了。我找到了一些建议使用 C# 解决方案的帖子,但由于我使用 C++ 编程,所以这些帖子对我没有帮助。

这是我从 sql 中提取数据的函数(有效),除了带有 XML 的部分

void tbl_to_xml(string target_tbl)
{
sqlite3 *db;
char *err_msg = 0;

int rc = sqlite3_open("db_test", &db);


if (rc != SQLITE_OK)
{
    fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
    sqlite3_close(db);
}



std::string sql = std::string("SELECT * FROM dbo.Department FOR XML PATH('Department'), ROOT ('Structure')");

//

rc = sqlite3_exec(db, sql.c_str(), 0, 0, &err_msg);

if (rc != SQLITE_OK )
{
    fprintf(stderr, "SQL error: %s\n", err_msg);

    sqlite3_free(err_msg);        
    sqlite3_close(db);
}
sqlite3_close(db);
}

感谢任何有助于解开这个谜团的提示!

最佳答案

看起来您错过了在 sqlline_exec 中提及回调函数。

您的回调函数需要遍历结果集并生成 xml 文件。

请参阅以下响应中回调使用的详细信息。 sqlite3_exec() Callback function Clarification

关于C++ 从 SQL 到 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49664351/

相关文章:

java - XSD 架构中需要什么来生成 @XmlElementDecl 方法?

android - Sqlite限制具有相同id的重复行

java - 以示例应用程序为例并添加 SQLCipher 不起作用

c++ - 数组指针,(*ptr)[] 和 *ptr[] 有什么区别

c++ - 强制访问私有(private)成员

c++ - super 对撞机二维阵列 : generative nesting : wrap/size issues

c# - 当只有 xml 数据可用时,如何使用 LINQ to XML 插入新节点?

python - ElementTree/cElementTree 区别?

c# - Windows Phone 8.1 silverlight 中带有 Entity Framework 的 SQLite

C++ 在异常时显示堆栈跟踪