2010-08-24 99 views
4

有谁知道将数据库条目转换为XML的好方法吗?将Postgres数据转换为XML

I.e.如果我有一个表命名为“用户”有田“FIRST_NAME”,“年龄”,“姓氏”,我想表转换为:

<Users> 
    <first_name>Papa</first_name> 
    <age>50</age> 
    <last_name>John</last_name> 
</Users> 

回答

1

这是独立于DB它可以的问题可以用ActiveRecord支持的任何数据库来完成。

User.find(some_id).to_xml(:except => [:id,:created_at,:updated_at]) 

:except => [:id,:created_at,:updated_at]从XML输出中删除Rails默认列。

有关于这件事的有趣的博客文章:http://ryandaigle.com/articles/2007/4/13/what-s-new-in-edge-rails-a-more-flexible-to_xml

+0

感谢您的快速答案Jigfox。我可能不应该用这个问题标记Rails。但是,如果Rails没有安装在系统中呢? – Tian 2010-08-24 19:00:55

15

在PostgreSQL你可以这样说:

SELECT table_to_xml('users', true, false, ''); 

或者

SELECT query_to_xml('SELECT * FROM users', true, false, ''); 

还有其他的选择为好,只是检查the manual

+0

哪里会生成xml文件的位置?有没有默认路径存在? – Haji 2014-06-30 11:56:35

+1

@Haji没有文件位置,只是来自此查询的结果集。您可以使用COPY将文件转储到某处,COPY将文件名和位置作为输入参数。 – 2014-06-30 19:35:35

+0

感谢您宝贵的指挥...... – Haji 2014-07-02 12:05:17