在第一篇的时候,如果使用For XML Auto,返回的XML里,所以的字段是一个节点的属性。我们如何把字段变成节点呢?这就要使用For XML Path('每组节点的父节点名字')。
测试table: Users
1 | userid | int |
2 | firstname | varchar(20) |
3 | lastname | varchar(20) |
测试语句:
select * from Users for XML Path("User")
返回的XML是
<User> <userid>1</userid> <firstname>Michael</firstname> <lastname>Brad</lastname> </User> <User> <userid>2</userid> <firstname>Judy</firstname> <lastname>Smart</lastname> </User>
和第二篇写的root元素。如果你想加个root元素。语句如下
select * from Users for XML Path("User"),Root('Users')
返回的XML就是:
<Users> <User> <userid>1</userid> <firstname>Michael</firstname> <lastname>Brad</lastname> </User> <User> <userid>2</userid> <firstname>Judy</firstname> <lastname>Smart</lastname> </User> </Users>