MSsql支持由select语句生产XML,语句非常简单,就是在select语句加上一个for XML就可以。
语法相当简单:
select * from tablename for xml auto
For XML把select的结果变成XML返回客户端。
如:测试table: Users
1 | userid | int |
2 | firstname | varchar(20) |
3 | lastname | varchar(20) |
sql 语句
select * from Users for xml auto
返回的XML
<Users userid="1" firstname="AA" lastname="BB" /> <Users userid="2" firstname="AAA" lastname="BBB" />
XML的内容是一行一行的。这个时候,要自己加根元素。有每一行是以表的名字为元素名字的。在例子里是Users,如果Users用别称,每一行的元素就变成别称的名字。
sql 语句
select * from Users aaBBcc for xml auto
返回的XML
<aaBBcc userid="1" firstname="AA" lastname="BB" /> <aaBBcc userid="2" firstname="AAA" lastname="BBB" />
元素里的属性是table的字段名。和上面的例子一样,如果你的table字段名用别名,出来的XML也是别名。
最后注意:大小写一定要区分清楚。不然会出错。XML是区分大小写的。