最近做项目,需要提供xml字符串给第三方,之后我试了试这两种数据库 都可以很简单的实现
oracle:举例
SELECT XMLElement("rowdata",
XMLElement("row",
XMLForest(
user_cname AS "code",
user_ename AS "name"
) ) )
FROM U_BASE_USER where user_id='admin';
sqlserver:举例
select * from table1 where code='124' for xml RAW ('row'),elements, root('rowdata')
注: sqlserver中的如果想让空的字段也显示出来,需要在elements后 加xsinil
我见到很多人都采用在开发的程序中 用字符串拼接来实现生成xml,我举的例子要比字符串拼接的代码量减少很多,而且xml已经很多年应用。
<rowdata>
<row>
<code>管理员</code><name>admin</name></row></rowdata>
oracle:举例
SELECT XMLElement("rowdata",
XMLElement("row",
XMLForest(
user_cname AS "code",
user_ename AS "name"
) ) )
FROM U_BASE_USER where user_id='admin';
sqlserver:举例
select * from table1 where code='124' for xml RAW ('row'),elements, root('rowdata')
注: sqlserver中的如果想让空的字段也显示出来,需要在elements后 加xsinil
我见到很多人都采用在开发的程序中 用字符串拼接来实现生成xml,我举的例子要比字符串拼接的代码量减少很多,而且xml已经很多年应用。
<rowdata>
<row>
<code>管理员</code><name>admin</name></row></rowdata>