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?