Op dit moment heb ik de volgende query:
en die levert het volgende resultaat:
Maar wat ik nu eigenlijk wil is maar 1 namespace declaratie op de rootnode (resultset), in plaats van dat die bij ieder element die xmlns declaratie neerzet, dus dit moet ik eigenlijk hebben:
Alleen heb ik geen idee hoe ik dit in SQL kan aanpassen of manipuleren.
Heeft iemand een idee?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| with xmlnamespaces ('test' as test) select ( select 'woningen' '@name', ( select top 20 convert(varchar(100),loc_x) '@x', convert(varchar(100),loc_y) '@y', cat '@label', 'B10' '@test:p01' from table for xml path('set'), type ) for xml path('dataset'), type ) for xml path('datasets'), root('resultset'), type |
en die levert het volgende resultaat:
code:
1
2
3
4
5
6
7
8
9
10
| <resultset xmlns:test="test"> <datasets> <dataset xmlns:test="test" name="woningen"> <set xmlns:test="test" x="124034" y="405122" label="B10" test:p01="B10" /> <set xmlns:test="test" x="131684" y="407216" label="B10" test:p01="B10" /> <set xmlns:test="test" x="135891" y="376899" label="B10" test:p01="B10" /> <set xmlns:test="test" x="136712" y="377288" label="B10" test:p01="B10" /> </dataset> </datasets> </resultset> |
Maar wat ik nu eigenlijk wil is maar 1 namespace declaratie op de rootnode (resultset), in plaats van dat die bij ieder element die xmlns declaratie neerzet, dus dit moet ik eigenlijk hebben:
code:
1
2
3
4
5
6
7
8
9
10
| <resultset xmlns:test="test"> <datasets> <dataset name="woningen"> <set x="124034" y="405122" label="B10" test:p01="B10" /> <set x="131684" y="407216" label="B10" test:p01="B10" /> <set x="135891" y="376899" label="B10" test:p01="B10" /> <set x="136712" y="377288" label="B10" test:p01="B10" /> </dataset> </datasets> </resultset> |
Alleen heb ik geen idee hoe ik dit in SQL kan aanpassen of manipuleren.
Heeft iemand een idee?