在 SQL Server 2005 中将 XML 数据转换为表格和 XML 形式
这是我的 XML,
<ROOMTYPES>
<ROOMTYPE Id="1" Total="5">
<ROOMFACILITIES>
<FID>101</FID>
<FID>103</FID>
<FID>105</FID>
</ROOMFACILITIES>
</ROOMTYPE>
<ROOMTYPE Id="2" Total="4">
<ROOMFACILITIES>
<FID>108</FID>
<FID>109</FID>
<FID>110</FID>
</ROOMFACILITIES>
</ROOMTYPE>
</ROOMTYPES>
结果
int int xml
1 5 <FID>101</FID><FID>103</FID><FID>105</FID>
2 4 <FID>108</FID><FID>109</FID><FID>110</FID>
我需要创建一个 XQuery,它会显示我在这里到达的
int int xml
1 5 <FID>101</FID><FID>103</FID><FID>105</FID>
2 4 <FID>101</FID><FID>103</FID><FID>105</FID>
。使用这个,
declare @xmldocument xml;
set @xmldocument =( select RoomTypes from Hotels);
declare @tb table(id int, total int, fid xml);
declare @id int;
set @id=0;
insert into @tb (id, total,fid)
select
p.value('../@Id', 'int'),
p.value('../@Total', 'int'),
p.query('//ROOMTYPE[@Id=1]/ROOMFACILITIES/FID')
from @xmldocument.nodes('ROOMTYPES/ROOMTYPE/ROOMFACILITIES') n(p)
select * from @tb;
因为我已经硬编码了 @Id=1,它只显示第一个元素的结果。
任何帮助表示赞赏...
This is my XML
<ROOMTYPES>
<ROOMTYPE Id="1" Total="5">
<ROOMFACILITIES>
<FID>101</FID>
<FID>103</FID>
<FID>105</FID>
</ROOMFACILITIES>
</ROOMTYPE>
<ROOMTYPE Id="2" Total="4">
<ROOMFACILITIES>
<FID>108</FID>
<FID>109</FID>
<FID>110</FID>
</ROOMFACILITIES>
</ROOMTYPE>
</ROOMTYPES>
I need to make an XQuery which would display the result like this
int int xml
1 5 <FID>101</FID><FID>103</FID><FID>105</FID>
2 4 <FID>108</FID><FID>109</FID><FID>110</FID>
I have reached here..
int int xml
1 5 <FID>101</FID><FID>103</FID><FID>105</FID>
2 4 <FID>101</FID><FID>103</FID><FID>105</FID>
using this
declare @xmldocument xml;
set @xmldocument =( select RoomTypes from Hotels);
declare @tb table(id int, total int, fid xml);
declare @id int;
set @id=0;
insert into @tb (id, total,fid)
select
p.value('../@Id', 'int'),
p.value('../@Total', 'int'),
p.query('//ROOMTYPE[@Id=1]/ROOMFACILITIES/FID')
from @xmldocument.nodes('ROOMTYPES/ROOMTYPE/ROOMFACILITIES') n(p)
select * from @tb;
Since I have hardcoded @Id=1 its showing the result of first element only.
Any help appreciated...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)