我可以从SQLite数据库生成XML数据吗?

时间:2013-07-28 12:05:09

标签: sql xml sqlite xslt

在Oracle或PostgreSQL等DBMS中,有从数据库生成XML数据的功能:http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htmhttp://www.postgresql.org/docs/current/static/functions-xml.html#AEN15086

我的问题是SQLite数据库中有类似的东西吗?可能有一些额外的工具,库甚至标准工具用于此目的吗?

5 个答案:

答案 0 :(得分:1)

您也可以下载SQlite数据库浏览器,然后打开您的数据库。之后将每个表导出到csv / html

答案 1 :(得分:0)

如果您使用 C#.NET ,可以采用两种方式。

  1. 您可以将数据导入数据集,并使用.WriteXml()方法写入xml文件。

    var sqc = new SqlConnection(ConfigurationManager.ConnectionStrings["AddsConnectionString"].ConnectionString);       
    
    sqc.Open();
    
    var q = "select * from adv";
    
    var sqd = new SqlDataAdapter(q, sqc);
    
    var ds = new DataSet();
    
    sqd.Fill(ds,"adv");
    
    ds.WriteXml("d:/data.xml");
    
  2. 不要忘记包含System.Xml

    1. 或者您可以使用 Linq

答案 2 :(得分:0)

您可以下载SQLite Studio。并直接将表或数据库导出到xml文件。enter image description here

答案 3 :(得分:0)

有一个qt sqlite驱动程序插件,所以如果你决定自己制作转换程序,那么你可以通过c ++和qt轻松完成。加载驱动程序,打开数据库,使用查询提取所需的任何信息,以任何您想要的格式将它们输出到文件中。

否则,某人已经制作了转换计划: Video with exportation of db to whatever format

有许多方法可以解决这个问题。

答案 4 :(得分:0)

答案是“是的,不是。”它不一样,但SQLite在这方面实际上非常有能力。但是,你必须推出自己的解决方案。

要了解如何执行此操作,您必须了解SQLite与PostgreSQL或Oracle等数据库的区别。虽然后两者是通过套接字(网络或UNIX)与客户端通信的服务器,但SQLite是一个使用进程内存与应用程序的其余部分进行通信的库。 SQLite没有特定的XML工具,但它有基础设施供您创建自己的工具。鉴于您没有指定您正在使用的语言(这使嵌入式数据库方法不同),我将讨论如何思考它,然后提供Python和C API文档的指针。

在PostgreSQL中,您可以通过提供在调用它们时运行的函数来扩展SQL。它们存在于后端,并在被调用时被实例化。在SQLite中,您的进程与后端相同,因此您在库中的任何内容都与SQLite处于同一进程中。这意味着您可以通过告诉SQLite在看到不理解的函数时调用哪个函数,以任意方式扩展SQL语言。因此,您可以通过定义函数调用然后使用SQLite注册它们来构建它。

Python documentation提供了一个完整的工作示例,说明如何使用SQLite注册Python函数,以便在调用时生成md5hash。可以使用相同的方法生成整个XML文档。我首先注意到它,因为这给出了你可以做的一个很好的例子。

从{C}的角度来看,SQLite documentation详细介绍了这一点。从这里,您可以定义自己的聚合,自己的功能等等。所以你拥有所需的所有构建模块,只提供最后一英里。