FOR XML PATH 转换问题

以下我带大家了解关于 FOR XML PATH
  • 首先我们看下所熟悉的表数据

之后转换

 1 <骨牌编号>1</骨牌编号>
 2 <骨牌颜色></骨牌颜色>
 3 <骨牌类型>石英</骨牌类型>
 4 <骨牌价格>1.30</骨牌价格>
 5 <骨牌重量>10.25</骨牌重量>
 6 <生产日期>2015-05-05T00:00:00</生产日期>
 7 <骨牌编号>2</骨牌编号>
 8 <骨牌颜色></骨牌颜色>
 9 <骨牌类型>石英</骨牌类型>
10 <骨牌价格>1.30</骨牌价格>
11 <骨牌重量>10.04</骨牌重量>
12 <生产日期>2015-12-21T00:00:00</生产日期>
13 <骨牌编号>3</骨牌编号>
14 <骨牌颜色></骨牌颜色>
15 <骨牌类型>石英</骨牌类型>
16 <骨牌价格>1.30</骨牌价格>
17 <骨牌重量>10.39</骨牌重量>
18 <生产日期>2015-03-04T00:00:00</生产日期>
19 <骨牌编号>4</骨牌编号>
20 <骨牌颜色></骨牌颜色>
21 <骨牌类型>石英</骨牌类型>
22 <骨牌价格>1.30</骨牌价格>
23 <骨牌重量>10.37</骨牌重量>
24 <生产日期>2015-07-16T00:00:00</生产日期>
25 <骨牌编号>5</骨牌编号>
26 <骨牌颜色>绿</骨牌颜色>
27 <骨牌类型>石英</骨牌类型>
28 <骨牌价格>1.30</骨牌价格>
29 <骨牌重量>10.30</骨牌重量>
30 <生产日期>2015-10-14T00:00:00</生产日期>
31 <骨牌编号>6</骨牌编号>
32 <骨牌颜色></骨牌颜色>
33 <骨牌类型>石英</骨牌类型>
34 <骨牌价格>1.30</骨牌价格>
35 <骨牌重量>10.34</骨牌重量>
36 <生产日期>2015-03-03T00:00:00</生产日期>
37 <骨牌编号>7</骨牌编号>
38 <骨牌颜色>绿</骨牌颜色>
39 <骨牌类型>石英</骨牌类型>
40 <骨牌价格>1.30</骨牌价格>
41 <骨牌重量>10.06</骨牌重量>
42 <生产日期>2015-11-19T00:00:00</生产日期>
43 <骨牌编号>8</骨牌编号>
44 <骨牌颜色></骨牌颜色>
45 <骨牌类型>石英</骨牌类型>
46 <骨牌价格>1.30</骨牌价格>
47 <骨牌重量>10.74</骨牌重量>
48 <生产日期>2015-02-04T00:00:00</生产日期>
49 <骨牌编号>9</骨牌编号>
50 <骨牌颜色>绿</骨牌颜色>
51 <骨牌类型>石英</骨牌类型>
52 <骨牌价格>1.30</骨牌价格>
53 <骨牌重量>10.54</骨牌重量>
54 <生产日期>2015-01-28T00:00:00</生产日期>
55 <骨牌编号>10</骨牌编号>
56 <骨牌颜色></骨牌颜色>
57 <骨牌类型>石英</骨牌类型>
58 <骨牌价格>1.30</骨牌价格>
59 <骨牌重量>10.52</骨牌重量>
60 <生产日期>2015-05-07T00:00:00</生产日期>
View Code

 从以上我们可以看到:

FOR XML PATH('') 这个代码是把SQL 的表格数据转换为XML数据流的功能

 

  PAHT('')的 '' 里面的从图

  
  可知是 PATH() 具表辨识行的作用。

  • 好了废话不多说,以下我就以标注的形式进行讲解:
1 SELECT TOP 3骨牌编号
2     ,骨牌颜色 --  默认的列名为 骨牌颜色
3     ,骨牌类型 AS DominoType -- 指定其他别名
4     ,骨牌价格 + 骨牌重量 AS 组合值
5     ,CONVERT(CHAR(10),生产日期,23) -- 当列进行编辑的时候,不附带AS别称的时候,会照成<生产日期></生产日期>丢失,即无列名
6     ,骨牌颜色 + '的骨牌要花:' + CONVERT(VARCHAR(10),骨牌价格) + ''
7 FROM [dbo].[骨牌存储箱]
8 FOR XML PATH('Item') -- 以Item为行号标识
View Code
 1 <Item>
 2     <骨牌编号>1</骨牌编号>
 3     <骨牌颜色></骨牌颜色>
 4     <DominoType>石英</DominoType>
 5     <组合值>11.55</组合值>
 6     2015-05-05
 7     橙的骨牌要花:1.30元
 8 </Item>
 9 <Item>
10     <骨牌编号>2</骨牌编号>
11     <骨牌颜色></骨牌颜色>
12     <DominoType>石英</DominoType>
13     <组合值>11.34</组合值>
14     2015-12-21
15     蓝的骨牌要花:1.30元
16 </Item>
17 <Item>
18     <骨牌编号>3</骨牌编号>
19     <骨牌颜色></骨牌颜色>
20     <DominoType>石英</DominoType>
21     <组合值>11.69</组合值>
22     2015-03-04
23     紫的骨牌要花:1.30元
24 </Item>
View Code

  就是列无标题的就是会失去<></>剩下的大家可以自由的组合编辑了。

  

 

posted @ 2016-04-01 10:21  C-华仔  阅读(922)  评论(0编辑  收藏  举报